* Implement Cargo Console Add to CargoConsoleComponent GalacticBank information for syncing Bank Account Balance. Implement CargoOrderDatabase on the server side and a list of orders in the CargoOrderDatabaseComponent on the client side. This makes it easier to change data on the server side but also utilize the state syncing between components. Implement GalacticMarketComponent. Only productIds get sent. Both client and server create their lists from YAML. Implement basic spawning of items from approved orders in CargoOrderDatabase. * Finish Cargo Console Add validation to make sure Order Amount is one or more. Implement approve and cancel buttons to CargoConsoleMenu orders list row. Add price to CargoConsoleMenu product list row. Implement CargoOrderDataManager to consolidate CargoOrder lists. Refactor CargoOrderDatabaseComponent to use CargoOrderDataManager instead of storing duplicate lists. Implement canceling orders. Implement approving orders. Fix sprite links. Implement Cargo Request Console.
612 lines
28 KiB
C#
612 lines
28 KiB
C#
using Content.Client.GameObjects.EntitySystems;
|
|
using Content.Client.Utility;
|
|
using Robust.Client.Graphics.Drawing;
|
|
using Robust.Client.Interfaces.ResourceManagement;
|
|
using Robust.Client.UserInterface;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Client.UserInterface.CustomControls;
|
|
using Robust.Shared.IoC;
|
|
using Robust.Shared.Maths;
|
|
|
|
namespace Content.Client.UserInterface
|
|
{
|
|
public sealed class NanoStyle
|
|
{
|
|
public const string StyleClassLabelHeading = "LabelHeading";
|
|
public const string StyleClassLabelHeadingBigger = "LabelHeadingBigger";
|
|
public const string StyleClassLabelSubText = "LabelSubText";
|
|
public const string StyleClassLabelKeyText = "LabelKeyText";
|
|
public const string StyleClassLabelSecondaryColor = "LabelSecondaryColor";
|
|
public const string StyleClassLabelBig = "LabelBig";
|
|
public const string StyleClassButtonBig = "ButtonBig";
|
|
public static readonly Color NanoGold = Color.FromHex("#A88B5E");
|
|
public static readonly Color ButtonColorDefault = Color.FromHex("#464966");
|
|
public static readonly Color ButtonColorHovered = Color.FromHex("#575b7f");
|
|
public static readonly Color ButtonColorPressed = Color.FromHex("#3e6c45");
|
|
public static readonly Color ButtonColorDisabled = Color.FromHex("#30313c");
|
|
|
|
//Used by the APC and SMES menus
|
|
public const string StyleClassPowerStateNone = "PowerStateNone";
|
|
public const string StyleClassPowerStateLow = "PowerStateLow";
|
|
public const string StyleClassPowerStateGood = "PowerStateGood";
|
|
|
|
public Stylesheet Stylesheet { get; }
|
|
|
|
public NanoStyle()
|
|
{
|
|
var resCache = IoCManager.Resolve<IResourceCache>();
|
|
var notoSans10 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 10);
|
|
var notoSans12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 12);
|
|
var notoSansBold12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Bold.ttf", 12);
|
|
var notoSansDisplayBold14 = resCache.GetFont("/Fonts/NotoSansDisplay/NotoSansDisplay-Bold.ttf", 14);
|
|
var notoSans16 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 16);
|
|
var notoSansBold16 = resCache.GetFont("/Nano/NotoSans/NotoSans-Bold.ttf", 16);
|
|
var notoSansBold20 = resCache.GetFont("/Nano/NotoSans/NotoSans-Bold.ttf", 20);
|
|
var textureCloseButton = resCache.GetTexture("/Nano/cross.svg.png");
|
|
var windowHeaderTex = resCache.GetTexture("/Nano/window_header.png");
|
|
var windowHeader = new StyleBoxTexture
|
|
{
|
|
Texture = windowHeaderTex,
|
|
PatchMarginBottom = 3,
|
|
ExpandMarginBottom = 3,
|
|
};
|
|
var windowBackgroundTex = resCache.GetTexture("/Nano/window_background.png");
|
|
var windowBackground = new StyleBoxTexture
|
|
{
|
|
Texture = windowBackgroundTex,
|
|
};
|
|
windowBackground.SetPatchMargin(StyleBox.Margin.Horizontal | StyleBox.Margin.Bottom, 2);
|
|
windowBackground.SetExpandMargin(StyleBox.Margin.Horizontal | StyleBox.Margin.Bottom, 2);
|
|
|
|
// Button styles.
|
|
var buttonTex = resCache.GetTexture("/Nano/button.svg.96dpi.png");
|
|
var buttonNormal = new StyleBoxTexture
|
|
{
|
|
Texture = buttonTex,
|
|
Modulate = ButtonColorDefault
|
|
};
|
|
buttonNormal.SetPatchMargin(StyleBox.Margin.All, 10);
|
|
buttonNormal.SetPadding(StyleBox.Margin.All, 1);
|
|
buttonNormal.SetContentMarginOverride(StyleBox.Margin.Vertical, 2);
|
|
buttonNormal.SetContentMarginOverride(StyleBox.Margin.Horizontal, 14);
|
|
|
|
var buttonHover = new StyleBoxTexture(buttonNormal)
|
|
{
|
|
Modulate = ButtonColorHovered
|
|
};
|
|
|
|
var buttonPressed = new StyleBoxTexture(buttonNormal)
|
|
{
|
|
Modulate = ButtonColorPressed
|
|
};
|
|
|
|
var buttonDisabled = new StyleBoxTexture(buttonNormal)
|
|
{
|
|
Modulate = ButtonColorDisabled
|
|
};
|
|
|
|
var lineEditTex = resCache.GetTexture("/Nano/lineedit.png");
|
|
var lineEdit = new StyleBoxTexture
|
|
{
|
|
Texture = lineEditTex,
|
|
};
|
|
lineEdit.SetPatchMargin(StyleBox.Margin.All, 3);
|
|
lineEdit.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
|
|
|
|
var tabContainerPanelTex = resCache.GetTexture("/Nano/tabcontainer_panel.png");
|
|
var tabContainerPanel = new StyleBoxTexture
|
|
{
|
|
Texture = tabContainerPanelTex,
|
|
};
|
|
tabContainerPanel.SetPatchMargin(StyleBox.Margin.All, 2);
|
|
|
|
var tabContainerBoxActive = new StyleBoxFlat {BackgroundColor = new Color(64, 64, 64)};
|
|
tabContainerBoxActive.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
|
|
var tabContainerBoxInactive = new StyleBoxFlat {BackgroundColor = new Color(32, 32, 32)};
|
|
tabContainerBoxInactive.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
|
|
|
|
var vScrollBarGrabberNormal = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = Color.Gray.WithAlpha(0.35f), ContentMarginLeftOverride = 10
|
|
};
|
|
var vScrollBarGrabberHover = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(140, 140, 140).WithAlpha(0.35f), ContentMarginLeftOverride = 10
|
|
};
|
|
var vScrollBarGrabberGrabbed = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(160, 160, 160).WithAlpha(0.35f), ContentMarginLeftOverride = 10
|
|
};
|
|
|
|
var hScrollBarGrabberNormal = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = Color.Gray.WithAlpha(0.35f), ContentMarginTopOverride = 10
|
|
};
|
|
var hScrollBarGrabberHover = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(140, 140, 140).WithAlpha(0.35f), ContentMarginTopOverride = 10
|
|
};
|
|
var hScrollBarGrabberGrabbed = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(160, 160, 160).WithAlpha(0.35f), ContentMarginTopOverride = 10
|
|
};
|
|
|
|
var progressBarBackground = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(0.25f, 0.25f, 0.25f)
|
|
};
|
|
progressBarBackground.SetContentMarginOverride(StyleBox.Margin.Vertical, 5);
|
|
|
|
var progressBarForeground = new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(0.25f, 0.50f, 0.25f)
|
|
};
|
|
progressBarForeground.SetContentMarginOverride(StyleBox.Margin.Vertical, 5);
|
|
|
|
// CheckBox
|
|
var checkBoxTextureChecked = resCache.GetTexture("/Nano/checkbox_checked.svg.96dpi.png");
|
|
var checkBoxTextureUnchecked = resCache.GetTexture("/Nano/checkbox_unchecked.svg.96dpi.png");
|
|
|
|
// Tooltip box
|
|
var tooltipTexture = resCache.GetTexture("/Nano/tooltip.png");
|
|
var tooltipBox = new StyleBoxTexture
|
|
{
|
|
Texture = tooltipTexture,
|
|
};
|
|
tooltipBox.SetPatchMargin(StyleBox.Margin.All, 2);
|
|
tooltipBox.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
|
|
|
|
// Placeholder
|
|
var placeholderTexture = resCache.GetTexture("/Nano/placeholder.png");
|
|
var placeholder = new StyleBoxTexture {Texture = placeholderTexture};
|
|
placeholder.SetPatchMargin(StyleBox.Margin.All, 19);
|
|
placeholder.SetExpandMargin(StyleBox.Margin.All, -5);
|
|
placeholder.Mode = StyleBoxTexture.StretchMode.Tile;
|
|
|
|
var itemListBackgroundSelected = new StyleBoxFlat {BackgroundColor = new Color(75, 75, 86)};
|
|
itemListBackgroundSelected.SetContentMarginOverride(StyleBox.Margin.Vertical, 2);
|
|
itemListBackgroundSelected.SetContentMarginOverride(StyleBox.Margin.Horizontal, 4);
|
|
var itemListItemBackgroundDisabled = new StyleBoxFlat {BackgroundColor = new Color(10, 10, 12)};
|
|
itemListItemBackgroundDisabled.SetContentMarginOverride(StyleBox.Margin.Vertical, 2);
|
|
itemListItemBackgroundDisabled.SetContentMarginOverride(StyleBox.Margin.Horizontal, 4);
|
|
var itemListItemBackground = new StyleBoxFlat {BackgroundColor = new Color(55, 55, 68)};
|
|
itemListItemBackground.SetContentMarginOverride(StyleBox.Margin.Vertical, 2);
|
|
itemListItemBackground.SetContentMarginOverride(StyleBox.Margin.Horizontal, 4);
|
|
var itemListItemBackgroundTransparent = new StyleBoxFlat { BackgroundColor = Color.Transparent };
|
|
itemListItemBackgroundTransparent.SetContentMarginOverride(StyleBox.Margin.Vertical, 2);
|
|
itemListItemBackgroundTransparent.SetContentMarginOverride(StyleBox.Margin.Horizontal, 4);
|
|
|
|
// NanoHeading
|
|
var nanoHeadingTex = resCache.GetTexture("/Nano/nanoheading.svg.96dpi.png");
|
|
var nanoHeadingBox = new StyleBoxTexture
|
|
{
|
|
Texture = nanoHeadingTex,
|
|
PatchMarginRight = 10,
|
|
PatchMarginTop = 10,
|
|
ContentMarginTopOverride = 2,
|
|
ContentMarginLeftOverride = 10,
|
|
PaddingTop = 4
|
|
};
|
|
|
|
nanoHeadingBox.SetPatchMargin(StyleBox.Margin.Left | StyleBox.Margin.Bottom, 2);
|
|
|
|
// Stripe background
|
|
var stripeBackTex = resCache.GetTexture("/Nano/stripeback.svg.96dpi.png");
|
|
var stripeBack = new StyleBoxTexture
|
|
{
|
|
Texture = stripeBackTex,
|
|
Mode = StyleBoxTexture.StretchMode.Tile
|
|
};
|
|
|
|
Stylesheet = new Stylesheet(new[]
|
|
{
|
|
// Default font.
|
|
new StyleRule(
|
|
new SelectorElement(null, null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty("font", notoSans12),
|
|
}),
|
|
|
|
// Window title.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Label), new[] {SS14Window.StyleClassWindowTitle}, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFontColor, NanoGold),
|
|
new StyleProperty(Label.StylePropertyFont, notoSansDisplayBold14),
|
|
}),
|
|
// Window background.
|
|
new StyleRule(
|
|
new SelectorElement(null, new[] {SS14Window.StyleClassWindowPanel}, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(Panel.StylePropertyPanel, windowBackground),
|
|
}),
|
|
// Window header.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Panel), new[] {SS14Window.StyleClassWindowHeader}, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(Panel.StylePropertyPanel, windowHeader),
|
|
}),
|
|
// Window close button base texture.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {SS14Window.StyleClassWindowCloseButton}, null,
|
|
null),
|
|
new[]
|
|
{
|
|
new StyleProperty(TextureButton.StylePropertyTexture, textureCloseButton),
|
|
new StyleProperty(Control.StylePropertyModulateSelf, Color.FromHex("#4B596A")),
|
|
}),
|
|
// Window close button hover.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {SS14Window.StyleClassWindowCloseButton}, null,
|
|
new[] {TextureButton.StylePseudoClassHover}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Control.StylePropertyModulateSelf, Color.FromHex("#7F3636")),
|
|
}),
|
|
// Window close button pressed.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {SS14Window.StyleClassWindowCloseButton}, null,
|
|
new[] {TextureButton.StylePseudoClassPressed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Control.StylePropertyModulateSelf, Color.FromHex("#753131")),
|
|
}),
|
|
|
|
// Regular buttons!
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Button), null, null, new[] {Button.StylePseudoClassNormal}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonNormal),
|
|
}),
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Button), null, null, new[] {Button.StylePseudoClassHover}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonHover),
|
|
}),
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Button), null, null, new[] {Button.StylePseudoClassPressed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonPressed),
|
|
}),
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Button), null, null, new[] {Button.StylePseudoClassDisabled}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonDisabled),
|
|
new StyleProperty("font-color", Color.FromHex("#E5E5E581")),
|
|
}),
|
|
|
|
// Main menu: Make those buttons bigger.
|
|
new StyleRule(
|
|
new SelectorChild(
|
|
new SelectorElement(null, null, "mainMenuVBox", null),
|
|
new SelectorElement(typeof(Button), null, null, null)),
|
|
new[]
|
|
{
|
|
new StyleProperty("font", notoSansBold16),
|
|
}),
|
|
|
|
// Main menu: also make those buttons slightly more separated.
|
|
new StyleRule(new SelectorElement(typeof(BoxContainer), null, "mainMenuVBox", null),
|
|
new[]
|
|
{
|
|
new StyleProperty(BoxContainer.StylePropertySeparation, 2),
|
|
}),
|
|
|
|
// Fancy LineEdit
|
|
new StyleRule(new SelectorElement(typeof(LineEdit), null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(LineEdit.StylePropertyStyleBox, lineEdit),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(LineEdit), new[] {LineEdit.StyleClassLineEditNotEditable}, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty("font-color", new Color(192, 192, 192)),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(LineEdit), null, null, new[] {LineEdit.StylePseudoClassPlaceholder}),
|
|
new[]
|
|
{
|
|
new StyleProperty("font-color", Color.Gray),
|
|
}),
|
|
|
|
// TabContainer
|
|
new StyleRule(new SelectorElement(typeof(TabContainer), null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(TabContainer.StylePropertyPanelStyleBox, tabContainerPanel),
|
|
new StyleProperty(TabContainer.StylePropertyTabStyleBox, tabContainerBoxActive),
|
|
new StyleProperty(TabContainer.StylePropertyTabStyleBoxInactive, tabContainerBoxInactive),
|
|
}),
|
|
|
|
// Scroll bars
|
|
new StyleRule(new SelectorElement(typeof(VScrollBar), null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
vScrollBarGrabberNormal),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(VScrollBar), null, null, new[] {ScrollBar.StylePseudoClassHover}),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
vScrollBarGrabberHover),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(VScrollBar), null, null, new[] {ScrollBar.StylePseudoClassGrabbed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
vScrollBarGrabberGrabbed),
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(HScrollBar), null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
hScrollBarGrabberNormal),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(HScrollBar), null, null, new[] {ScrollBar.StylePseudoClassHover}),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
hScrollBarGrabberHover),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(HScrollBar), null, null, new[] {ScrollBar.StylePseudoClassGrabbed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(ScrollBar.StylePropertyGrabber,
|
|
hScrollBarGrabberGrabbed),
|
|
}),
|
|
|
|
// ProgressBar
|
|
new StyleRule(new SelectorElement(typeof(ProgressBar), null, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(ProgressBar.StylePropertyBackground, progressBarBackground),
|
|
new StyleProperty(ProgressBar.StylePropertyForeground, progressBarForeground)
|
|
}),
|
|
|
|
// CheckBox
|
|
new StyleRule(new SelectorElement(typeof(CheckBox), null, null, null), new[]
|
|
{
|
|
new StyleProperty(CheckBox.StylePropertyIcon, checkBoxTextureUnchecked),
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(CheckBox), null, null, new[] {Button.StylePseudoClassPressed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(CheckBox.StylePropertyIcon, checkBoxTextureChecked),
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(CheckBox), null, null, null), new[]
|
|
{
|
|
new StyleProperty(CheckBox.StylePropertyHSeparation, 3),
|
|
}),
|
|
|
|
// Tooltip
|
|
new StyleRule(new SelectorElement(typeof(Tooltip), null, null, null), new[]
|
|
{
|
|
new StyleProperty(PanelContainer.StylePropertyPanel, tooltipBox)
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(PanelContainer), new[] {"tooltipBox"}, null, null), new[]
|
|
{
|
|
new StyleProperty(PanelContainer.StylePropertyPanel, tooltipBox)
|
|
}),
|
|
|
|
// Entity tooltip
|
|
new StyleRule(
|
|
new SelectorElement(typeof(PanelContainer), new[] {ExamineSystem.StyleClassEntityTooltip}, null,
|
|
null), new[]
|
|
{
|
|
new StyleProperty(PanelContainer.StylePropertyPanel, tooltipBox)
|
|
}),
|
|
|
|
// ItemList
|
|
new StyleRule(new SelectorElement(typeof(ItemList), null, null, null), new[]
|
|
{
|
|
new StyleProperty(ItemList.StylePropertyBackground,
|
|
new StyleBoxFlat {BackgroundColor = new Color(32, 32, 40)}),
|
|
new StyleProperty(ItemList.StylePropertyItemBackground,
|
|
itemListItemBackground),
|
|
new StyleProperty(ItemList.StylePropertyDisabledItemBackground,
|
|
itemListItemBackgroundDisabled),
|
|
new StyleProperty(ItemList.StylePropertySelectedItemBackground,
|
|
itemListBackgroundSelected)
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(ItemList), new []{"transparentItemList"}, null, null), new[]
|
|
{
|
|
new StyleProperty(ItemList.StylePropertyBackground,
|
|
new StyleBoxFlat {BackgroundColor = Color.Transparent}),
|
|
new StyleProperty(ItemList.StylePropertyItemBackground,
|
|
itemListItemBackgroundTransparent),
|
|
new StyleProperty(ItemList.StylePropertyDisabledItemBackground,
|
|
itemListItemBackgroundDisabled),
|
|
new StyleProperty(ItemList.StylePropertySelectedItemBackground,
|
|
itemListBackgroundSelected)
|
|
}),
|
|
|
|
// Tree
|
|
new StyleRule(new SelectorElement(typeof(Tree), null, null, null), new[]
|
|
{
|
|
new StyleProperty(Tree.StylePropertyBackground,
|
|
new StyleBoxFlat {BackgroundColor = new Color(32, 32, 40)}),
|
|
new StyleProperty(Tree.StylePropertyItemBoxSelected, new StyleBoxFlat
|
|
{
|
|
BackgroundColor = new Color(55, 55, 68),
|
|
ContentMarginLeftOverride = 4
|
|
})
|
|
}),
|
|
|
|
// Placeholder
|
|
new StyleRule(new SelectorElement(typeof(Placeholder), null, null, null), new[]
|
|
{
|
|
new StyleProperty(PanelContainer.StylePropertyPanel, placeholder),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Label), new[] {Placeholder.StyleClassPlaceholderText}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSans16),
|
|
new StyleProperty(Label.StylePropertyFontColor, new Color(103, 103, 103, 128)),
|
|
}),
|
|
|
|
// Big Label
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassLabelHeading}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSansBold16),
|
|
new StyleProperty(Label.StylePropertyFontColor, NanoGold),
|
|
}),
|
|
|
|
// Bigger Label
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassLabelHeadingBigger}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSansBold20),
|
|
new StyleProperty(Label.StylePropertyFontColor, NanoGold),
|
|
}),
|
|
|
|
// Small Label
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassLabelSubText}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSans10),
|
|
new StyleProperty(Label.StylePropertyFontColor, Color.DarkGray),
|
|
}),
|
|
|
|
// Label Key
|
|
new StyleRule(new SelectorElement(typeof(Label), new []{StyleClassLabelKeyText}, null, null), new []
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSansBold12),
|
|
new StyleProperty(Label.StylePropertyFontColor, NanoGold)
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassLabelSecondaryColor}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSans12),
|
|
new StyleProperty(Label.StylePropertyFontColor, Color.DarkGray),
|
|
}),
|
|
|
|
// Big Button
|
|
new StyleRule(new SelectorElement(typeof(Button), new[] {StyleClassButtonBig}, null, null), new[]
|
|
{
|
|
new StyleProperty("font", notoSans16)
|
|
}),
|
|
|
|
//APC and SMES power state label colors
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassPowerStateNone}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFontColor, new Color(0.8f, 0.0f, 0.0f))
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassPowerStateLow}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFontColor, new Color(0.9f, 0.36f, 0.0f))
|
|
}),
|
|
|
|
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassPowerStateGood}, null, null), new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFontColor, new Color(0.024f, 0.8f, 0.0f))
|
|
}),
|
|
|
|
// Those top menu buttons.
|
|
new StyleRule(
|
|
new SelectorElement(typeof(GameHud.TopButton), null, null, new[] {Button.StylePseudoClassNormal}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonNormal),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(GameHud.TopButton), null, null, new[] {Button.StylePseudoClassPressed}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonPressed),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(GameHud.TopButton), null, null, new[] {Button.StylePseudoClassHover}),
|
|
new[]
|
|
{
|
|
new StyleProperty(Button.StylePropertyStyleBox, buttonHover),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(Label), new[] {GameHud.TopButton.StyleClassLabelTopButton}, null, null),
|
|
new[]
|
|
{
|
|
new StyleProperty(Label.StylePropertyFont, notoSansDisplayBold14),
|
|
}),
|
|
|
|
// Targeting doll
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {TargetingDoll.StyleClassTargetDollZone}, null,
|
|
new[] {TextureButton.StylePseudoClassNormal}), new[]
|
|
{
|
|
new StyleProperty(Control.StylePropertyModulateSelf, ButtonColorDefault),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {TargetingDoll.StyleClassTargetDollZone}, null,
|
|
new[] {TextureButton.StylePseudoClassHover}), new[]
|
|
{
|
|
new StyleProperty(Control.StylePropertyModulateSelf, ButtonColorHovered),
|
|
}),
|
|
|
|
new StyleRule(
|
|
new SelectorElement(typeof(TextureButton), new[] {TargetingDoll.StyleClassTargetDollZone}, null,
|
|
new[] {TextureButton.StylePseudoClassPressed}), new[]
|
|
{
|
|
new StyleProperty(Control.StylePropertyModulateSelf, ButtonColorPressed),
|
|
}),
|
|
|
|
// NanoHeading
|
|
|
|
new StyleRule(
|
|
new SelectorChild(
|
|
SelectorElement.Type(typeof(NanoHeading)),
|
|
SelectorElement.Type(typeof(PanelContainer))),
|
|
new[]
|
|
{
|
|
new StyleProperty(PanelContainer.StylePropertyPanel, nanoHeadingBox),
|
|
}),
|
|
|
|
// StripeBack
|
|
new StyleRule(
|
|
SelectorElement.Type(typeof(StripeBack)),
|
|
new []
|
|
{
|
|
new StyleProperty(StripeBack.StylePropertyBackground, stripeBack),
|
|
}),
|
|
|
|
// StyleClassLabelBig
|
|
new StyleRule(
|
|
SelectorElement.Class(StyleClassLabelBig),
|
|
new []
|
|
{
|
|
new StyleProperty("font", notoSans16),
|
|
}),
|
|
});
|
|
}
|
|
}
|
|
}
|