diff --git a/Source/Editor/Modules/ProgressReportingModule.cs b/Source/Editor/Modules/ProgressReportingModule.cs
index 16acd7f8b..22ae5ea98 100644
--- a/Source/Editor/Modules/ProgressReportingModule.cs
+++ b/Source/Editor/Modules/ProgressReportingModule.cs
@@ -129,6 +129,7 @@ namespace FlaxEditor.Modules
else
{
Editor.UI.UpdateProgress(string.Empty, 0);
+ Editor.UI.UpdateStatusBar();
}
}
diff --git a/Source/Editor/Modules/UIModule.cs b/Source/Editor/Modules/UIModule.cs
index 1bb40469b..299865dea 100644
--- a/Source/Editor/Modules/UIModule.cs
+++ b/Source/Editor/Modules/UIModule.cs
@@ -285,7 +285,7 @@ namespace FlaxEditor.Modules
Color color;
if (Editor.StateMachine.IsPlayMode)
- color = Color.OrangeRed;
+ color = Style.Current.Statusbar.PlayMode;
else
color = Style.Current.BackgroundSelected;
@@ -299,6 +299,11 @@ namespace FlaxEditor.Modules
else
text = "Ready";
+ if(ProgressVisible)
+ {
+ color = Style.Current.Statusbar.Loading;
+ }
+
StatusBar.Text = text;
StatusBar.StatusColor = color;
_contentStats = contentStats;
@@ -344,7 +349,7 @@ namespace FlaxEditor.Modules
internal void ProgressFailed(string message)
{
_progressFailed = true;
- StatusBar.StatusColor = Color.Red;
+ StatusBar.StatusColor = Style.Current.Statusbar.Failed;
StatusBar.Text = message;
_outputLogButton.Visible = true;
}
@@ -397,6 +402,10 @@ namespace FlaxEditor.Modules
{
UpdateStatusBar();
}
+ else if(ProgressVisible)
+ {
+ UpdateStatusBar();
+ }
}
private class CustomWindowBorderControl : Control
@@ -778,7 +787,7 @@ namespace FlaxEditor.Modules
HorizontalAlignment = TextAlignment.Far,
AnchorPreset = AnchorPresets.HorizontalStretchMiddle,
Parent = progressPanel,
- Offsets = new Margin(progressBarRightMargin, progressBarWidth + progressBarLeftMargin + progressBarRightMargin, 0, 0),
+ Offsets = new Margin(progressBarRightMargin, progressBarWidth + progressBarLeftMargin + progressBarRightMargin, 0, 0)
};
UpdateStatusBar();
diff --git a/Source/Editor/Options/OptionsModule.cs b/Source/Editor/Options/OptionsModule.cs
index 68aa11626..c2d744239 100644
--- a/Source/Editor/Options/OptionsModule.cs
+++ b/Source/Editor/Options/OptionsModule.cs
@@ -244,6 +244,13 @@ namespace FlaxEditor.Options
CollectionBackgroundColor = Color.FromBgra(0x14CCCCCC),
ProgressNormal = Color.FromBgra(0xFF0ad328),
+ Statusbar = new Style.StatusbarStyle()
+ {
+ PlayMode = Color.FromBgra(0xFF2F9135),
+ Failed = Color.FromBgra(0xFF9C2424),
+ Loading = Color.FromBgra(0xFF2D2D30)
+ },
+
// Fonts
FontTitle = options.Interface.TitleFont.GetFont(),
FontLarge = options.Interface.LargeFont.GetFont(),
diff --git a/Source/Engine/Scripting/Scripting.cs b/Source/Engine/Scripting/Scripting.cs
index 3e11b3e14..8347fe7f8 100644
--- a/Source/Engine/Scripting/Scripting.cs
+++ b/Source/Engine/Scripting/Scripting.cs
@@ -282,6 +282,12 @@ namespace FlaxEngine
TextBoxBackgroundSelected = Color.FromBgra(0xFF3F3F46),
CollectionBackgroundColor = Color.FromBgra(0x14CCCCCC),
SharedTooltip = new Tooltip(),
+ Statusbar = new Style.StatusbarStyle()
+ {
+ PlayMode = Color.FromBgra(0xFF2F9135),
+ Failed = Color.FromBgra(0xFF9C2424),
+ Loading = Color.FromBgra(0xFF2D2D30)
+ }
};
style.DragWindow = style.BackgroundSelected * 0.7f;
diff --git a/Source/Engine/UI/GUI/Style.cs b/Source/Engine/UI/GUI/Style.cs
index fac65e22f..8f34a703c 100644
--- a/Source/Engine/UI/GUI/Style.cs
+++ b/Source/Engine/UI/GUI/Style.cs
@@ -164,6 +164,12 @@ namespace FlaxEngine.GUI
[EditorOrder(200)]
public Color ProgressNormal;
+ ///
+ /// The status bar style
+ ///
+ [EditorOrder(210)]
+ public StatusbarStyle Statusbar;
+
///
/// The arrow right icon.
///
@@ -241,5 +247,27 @@ namespace FlaxEngine.GUI
///
[EditorOrder(340)]
public Tooltip SharedTooltip;
+
+ ///
+ /// Style for the Statusbar
+ ///
+ [System.Serializable, ShowInEditor]
+ public struct StatusbarStyle
+ {
+ ///
+ /// Color of the Statusbar when in Play Mode
+ ///
+ public Color PlayMode;
+
+ ///
+ /// Color of the Statusbar when in loading state (e.g. when importing assets)
+ ///
+ public Color Loading;
+
+ ///
+ /// Color of the Statusbar in its failed state (e.g. with compilation errors)
+ ///
+ public Color Failed;
+ }
}
}