Merge branch 'master' into buckle-locker-fix-1262

This commit is contained in:
DrSmugleaf
2020-07-07 20:36:43 +02:00
5598 changed files with 6598 additions and 6497 deletions

View File

@@ -185,16 +185,16 @@ namespace Content.Client.Construction
switch (tool.ToolQuality)
{
case ToolQuality.Anchoring:
icon = _resourceCache.GetResource<TextureResource>("/Textures/Objects/Tools/wrench.png");
icon = _resourceCache.GetResource<TextureResource>("/Textures/Objects/Tools/wrench.rsi/icon.png");
text = "Wrench";
break;
case ToolQuality.Prying:
icon = _resourceCache.GetResource<TextureResource>("/Textures/Objects/Tools/crowbar.png");
icon = _resourceCache.GetResource<TextureResource>("/Textures/Objects/Tools/crowbar.rsi/icon.png");
text = "Crowbar";
break;
case ToolQuality.Screwing:
icon = _resourceCache.GetResource<TextureResource>(
"/Textures/Objects/Tools/screwdriver.png");
"/Textures/Objects/Tools/screwdriver.rsi/screwdriver-map.png");
text = "Screwdriver";
break;
case ToolQuality.Welding:
@@ -204,7 +204,7 @@ namespace Content.Client.Construction
break;
case ToolQuality.Cutting:
icon = _resourceCache.GetResource<TextureResource>(
"/Textures/Objects/Tools/wirecutter.png");
"/Textures/Objects/Tools/wirecutters.rsi/cutters-map.png");
text = "Wirecutters";
break;
default:

View File

@@ -53,8 +53,8 @@ namespace Content.Client.GameObjects
void AddButton(out ItemSlotButton variable, Slots slot, string textureName)
{
var texture = _resourceCache.GetTexture($"/Textures/UserInterface/Inventory/{textureName}.png");
var storageTexture = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/back.png");
var texture = _resourceCache.GetTexture($"/Textures/Interface/Inventory/{textureName}.png");
var storageTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/back.png");
variable = new ItemSlotButton(texture, storageTexture)
{
OnPressed = (e) => AddToInventory(e, slot),
@@ -193,8 +193,8 @@ namespace Content.Client.GameObjects
void AddButton(Slots slot, string textureName, Vector2 position)
{
var texture = resourceCache.GetTexture($"/Textures/UserInterface/Inventory/{textureName}.png");
var storageTexture = resourceCache.GetTexture("/Textures/UserInterface/Inventory/back.png");
var texture = resourceCache.GetTexture($"/Textures/Interface/Inventory/{textureName}.png");
var storageTexture = resourceCache.GetTexture("/Textures/Interface/Inventory/back.png");
var button = new ItemSlotButton(texture, storageTexture);
LayoutContainer.SetPosition(button, position);

View File

@@ -37,7 +37,7 @@ namespace Content.Client.GameObjects.Components.Kitchen
var audioParams = AudioParams.Default;
audioParams.Loop = true;
var schedSound = new ScheduledSound();
schedSound.Filename = "/Audio/machines/microwave_loop.ogg";
schedSound.Filename = "/Audio/Machines/microwave_loop.ogg";
schedSound.AudioParams = audioParams;
_loopingSoundComponent.StopAllSounds();
_loopingSoundComponent.AddScheduledSound(schedSound);

View File

@@ -17,11 +17,11 @@ namespace Content.Client.GameObjects.Components.PDA
switch(message)
{
case PDAUplinkBuySuccessMessage _ :
EntitySystem.Get<AudioSystem>().Play("/Audio/effects/kaching.ogg", Owner, AudioParams.Default.WithVolume(-2f));
EntitySystem.Get<AudioSystem>().Play("/Audio/Effects/kaching.ogg", Owner, AudioParams.Default.WithVolume(-2f));
break;
case PDAUplinkInsufficientFundsMessage _ :
EntitySystem.Get<AudioSystem>().Play("/Audio/effects/error.ogg", Owner, AudioParams.Default);
EntitySystem.Get<AudioSystem>().Play("/Audio/Effects/error.ogg", Owner, AudioParams.Default);
break;
}

View File

@@ -180,7 +180,7 @@ namespace Content.Client.GameObjects.Components.Weapons.Ranged.Barrels
},
(_chamberedBullet = new TextureRect
{
Texture = StaticIoC.ResC.GetTexture("/Textures/UserInterface/status/bullets/chambered.png"),
Texture = StaticIoC.ResC.GetTexture("/Textures/Interface/ItemStatus/Bullets/chambered.png"),
SizeFlagsVertical = SizeFlags.ShrinkCenter,
SizeFlagsHorizontal = SizeFlags.ShrinkEnd | SizeFlags.Fill,
})
@@ -211,15 +211,15 @@ namespace Content.Client.GameObjects.Components.Weapons.Ranged.Barrels
string texturePath;
if (capacity <= 20)
{
texturePath = "/Textures/UserInterface/status/bullets/normal.png";
texturePath = "/Textures/Interface/ItemStatus/Bullets/normal.png";
}
else if (capacity <= 30)
{
texturePath = "/Textures/UserInterface/status/bullets/small.png";
texturePath = "/Textures/Interface/ItemStatus/Bullets/small.png";
}
else
{
texturePath = "/Textures/UserInterface/status/bullets/tiny.png";
texturePath = "/Textures/Interface/ItemStatus/Bullets/tiny.png";
}
var texture = StaticIoC.ResC.GetTexture(texturePath);

View File

@@ -43,7 +43,7 @@ namespace Content.Client.GameObjects.Components.Wires
MouseFilter = MouseFilterMode.Stop;
var panelTex = resourceCache.GetTexture("/Nano/button.svg.96dpi.png");
var panelTex = resourceCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
var back = new StyleBoxTexture
{
Texture = panelTex,
@@ -306,7 +306,7 @@ namespace Content.Client.GameObjects.Components.Wires
private sealed class WireControl : Control
{
private const string TextureContact = "/Textures/UserInterface/WireHacking/contact.svg.96dpi.png";
private const string TextureContact = "/Textures/Interface/WireHacking/contact.svg.96dpi.png";
public event Action WireClicked;
public event Action ContactsClicked;
@@ -405,20 +405,20 @@ namespace Content.Client.GameObjects.Components.Wires
private static readonly string[] TextureNormal =
{
"/Textures/UserInterface/WireHacking/wire_1.svg.96dpi.png",
"/Textures/UserInterface/WireHacking/wire_2.svg.96dpi.png"
"/Textures/Interface/WireHacking/wire_1.svg.96dpi.png",
"/Textures/Interface/WireHacking/wire_2.svg.96dpi.png"
};
private static readonly string[] TextureCut =
{
"/Textures/UserInterface/WireHacking/wire_1_cut.svg.96dpi.png",
"/Textures/UserInterface/WireHacking/wire_2_cut.svg.96dpi.png",
"/Textures/Interface/WireHacking/wire_1_cut.svg.96dpi.png",
"/Textures/Interface/WireHacking/wire_2_cut.svg.96dpi.png",
};
private static readonly string[] TextureCopper =
{
"/Textures/UserInterface/WireHacking/wire_1_copper.svg.96dpi.png",
"/Textures/UserInterface/WireHacking/wire_2_copper.svg.96dpi.png"
"/Textures/Interface/WireHacking/wire_1_copper.svg.96dpi.png",
"/Textures/Interface/WireHacking/wire_2_copper.svg.96dpi.png"
};
public WireRender(WireColor color, bool isCut, bool flip, bool mirror, int type)
@@ -532,7 +532,7 @@ namespace Content.Client.GameObjects.Components.Wires
new TextureRect
{
Texture = resC.GetTexture(
"/Textures/UserInterface/WireHacking/light_off_base.svg.96dpi.png"),
"/Textures/Interface/WireHacking/light_off_base.svg.96dpi.png"),
Stretch = TextureRect.StretchMode.KeepCentered,
ModulateSelfOverride = dimColor
},
@@ -541,7 +541,7 @@ namespace Content.Client.GameObjects.Components.Wires
ModulateSelfOverride = data.Color.WithAlpha(0.4f),
Stretch = TextureRect.StretchMode.KeepCentered,
Texture =
resC.GetTexture("/Textures/UserInterface/WireHacking/light_on_base.svg.96dpi.png"),
resC.GetTexture("/Textures/Interface/WireHacking/light_on_base.svg.96dpi.png"),
})
}
};

View File

@@ -576,7 +576,7 @@ namespace Content.Client.GameObjects.EntitySystems
new TextureRect
{
Texture = IoCManager.Resolve<IResourceCache>()
.GetTexture("/Textures/UserInterface/VerbIcons/group.svg.96dpi.png"),
.GetTexture("/Textures/Interface/VerbIcons/group.svg.96dpi.png"),
Stretch = TextureRect.StretchMode.KeepCentered,
}
}

View File

@@ -44,6 +44,8 @@ namespace Content.Client.Sandbox
_netManager.RegisterNetMessage<MsgSandboxStatus>(nameof(MsgSandboxStatus),
message => SetAllowed(message.SandboxAllowed));
_netManager.RegisterNetMessage<MsgSandboxRespawn>(nameof(MsgSandboxRespawn));
_gameHud.SandboxButtonToggled = SandboxButtonPressed;
_inputManager.SetInputCommand(ContentKeyFunctions.OpenEntitySpawnWindow,

View File

@@ -34,7 +34,7 @@ namespace Content.Client.State
public override void Startup()
{
var panelTex = ResC.GetTexture("/Nano/button.svg.96dpi.png");
var panelTex = ResC.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
var back = new StyleBoxTexture
{
Texture = panelTex,

View File

@@ -45,7 +45,7 @@ namespace Content.Client.UserInterface
AddChild(margin);
var panelTex = resourceCache.GetTexture("/Nano/button.svg.96dpi.png");
var panelTex = resourceCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
var back = new StyleBoxTexture
{
Texture = panelTex,

View File

@@ -111,12 +111,12 @@ namespace Content.Client.UserInterface
RootControl = new LayoutContainer();
LayoutContainer.SetAnchorPreset(RootControl, LayoutContainer.LayoutPreset.Wide);
var escapeTexture = _resourceCache.GetTexture("/Textures/UserInterface/hamburger.svg.96dpi.png");
var characterTexture = _resourceCache.GetTexture("/Textures/UserInterface/character.svg.96dpi.png");
var inventoryTexture = _resourceCache.GetTexture("/Textures/UserInterface/inventory.svg.96dpi.png");
var craftingTexture = _resourceCache.GetTexture("/Textures/UserInterface/hammer.svg.96dpi.png");
var tutorialTexture = _resourceCache.GetTexture("/Textures/UserInterface/students-cap.svg.96dpi.png");
var sandboxTexture = _resourceCache.GetTexture("/Textures/UserInterface/sandbox.svg.96dpi.png");
var escapeTexture = _resourceCache.GetTexture("/Textures/Interface/hamburger.svg.96dpi.png");
var characterTexture = _resourceCache.GetTexture("/Textures/Interface/character.svg.96dpi.png");
var inventoryTexture = _resourceCache.GetTexture("/Textures/Interface/inventory.svg.96dpi.png");
var craftingTexture = _resourceCache.GetTexture("/Textures/Interface/hammer.svg.96dpi.png");
var tutorialTexture = _resourceCache.GetTexture("/Textures/Interface/students-cap.svg.96dpi.png");
var sandboxTexture = _resourceCache.GetTexture("/Textures/Interface/sandbox.svg.96dpi.png");
_topButtonsContainer = new HBoxContainer
{

View File

@@ -40,10 +40,10 @@ namespace Content.Client.UserInterface
{
IoCManager.InjectDependencies(this);
var textureHandLeft = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_l.png");
var textureHandRight = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_r.png");
var textureHandActive = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/hand_active.png");
var storageTexture = _resourceCache.GetTexture("/Textures/UserInterface/Inventory/back.png");
var textureHandLeft = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_l.png");
var textureHandRight = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_r.png");
var textureHandActive = _resourceCache.GetTexture("/Textures/Interface/Inventory/hand_active.png");
var storageTexture = _resourceCache.GetTexture("/Textures/Interface/Inventory/back.png");
_rightStatusPanel = new ItemStatusPanel(true);
_leftStatusPanel = new ItemStatusPanel(false);

View File

@@ -567,7 +567,7 @@ namespace Content.Client.UserInterface
if (job.Icon != null)
{
var specifier = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/job_icons.rsi"), job.Icon);
var specifier = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/job_icons.rsi"), job.Icon);
icon.Texture = specifier.Frame0();
}

View File

@@ -35,8 +35,8 @@ namespace Content.Client.UserInterface
var panel = new StyleBoxTexture
{
Texture = ResC.GetTexture(isRightHand
? "/Nano/item_status_right.svg.96dpi.png"
: "/Nano/item_status_left.svg.96dpi.png")
? "/Textures/Interface/Nano/item_status_right.svg.96dpi.png"
: "/Textures/Interface/Nano/item_status_left.svg.96dpi.png")
};
panel.SetContentMarginOverride(StyleBox.Margin.Vertical, 4);
panel.SetContentMarginOverride(StyleBox.Margin.Horizontal, 6);

View File

@@ -39,7 +39,7 @@ namespace Content.Client.UserInterface
AddChild(margin);
var panelTex = resourceCache.GetTexture("/Nano/button.svg.96dpi.png");
var panelTex = resourceCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
var back = new StyleBoxTexture
{
Texture = panelTex,

View File

@@ -19,10 +19,10 @@ namespace Content.Client.UserInterface.Stylesheets
protected StyleBase(IResourceCache resCache)
{
var notoSans12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 12);
var notoSans12 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf", 12);
// Button styles.
var buttonTex = resCache.GetTexture("/Nano/button.svg.96dpi.png");
var buttonTex = resCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
BaseButton = new StyleBoxTexture
{
Texture = buttonTex,

View File

@@ -41,17 +41,17 @@ namespace Content.Client.UserInterface.Stylesheets
public StyleNano(IResourceCache resCache) : base(resCache)
{
var notoSans10 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 10);
var notoSansItalic10 = resCache.GetFont("/Nano/NotoSans/NotoSans-Italic.ttf", 10);
var notoSans12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 12);
var notoSansItalic12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Italic.ttf", 12);
var notoSansBold12 = resCache.GetFont("/Nano/NotoSans/NotoSans-Bold.ttf", 12);
var notoSans10 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf", 10);
var notoSansItalic10 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Italic.ttf", 10);
var notoSans12 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf", 12);
var notoSansItalic12 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Italic.ttf", 12);
var notoSansBold12 = resCache.GetFont("/Textures/Interface/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 notoSans16 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf", 16);
var notoSansBold16 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Bold.ttf", 16);
var notoSansBold20 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Bold.ttf", 20);
var textureCloseButton = resCache.GetTexture("/Textures/Interface/Nano/cross.svg.png");
var windowHeaderTex = resCache.GetTexture("/Textures/Interface/Nano/window_header.png");
var windowHeader = new StyleBoxTexture
{
Texture = windowHeaderTex,
@@ -59,7 +59,7 @@ namespace Content.Client.UserInterface.Stylesheets
ExpandMarginBottom = 3,
ContentMarginBottomOverride = 0
};
var windowBackgroundTex = resCache.GetTexture("/Nano/window_background.png");
var windowBackgroundTex = resCache.GetTexture("/Textures/Interface/Nano/window_background.png");
var windowBackground = new StyleBoxTexture
{
Texture = windowBackgroundTex,
@@ -67,7 +67,7 @@ namespace Content.Client.UserInterface.Stylesheets
windowBackground.SetPatchMargin(StyleBox.Margin.Horizontal | StyleBox.Margin.Bottom, 2);
windowBackground.SetExpandMargin(StyleBox.Margin.Horizontal | StyleBox.Margin.Bottom, 2);
var textureInvertedTriangle = resCache.GetTexture("/Nano/inverted_triangle.svg.png");
var textureInvertedTriangle = resCache.GetTexture("/Textures/Interface/Nano/inverted_triangle.svg.png");
// Button styles.
var buttonNormal = new StyleBoxTexture(BaseButton)
@@ -90,7 +90,7 @@ namespace Content.Client.UserInterface.Stylesheets
Modulate = ButtonColorDisabled
};
var lineEditTex = resCache.GetTexture("/Nano/lineedit.png");
var lineEditTex = resCache.GetTexture("/Textures/Interface/Nano/lineedit.png");
var lineEdit = new StyleBoxTexture
{
Texture = lineEditTex,
@@ -98,7 +98,7 @@ namespace Content.Client.UserInterface.Stylesheets
lineEdit.SetPatchMargin(StyleBox.Margin.All, 3);
lineEdit.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
var tabContainerPanelTex = resCache.GetTexture("/Nano/tabcontainer_panel.png");
var tabContainerPanelTex = resCache.GetTexture("/Textures/Interface/Nano/tabcontainer_panel.png");
var tabContainerPanel = new StyleBoxTexture
{
Texture = tabContainerPanelTex,
@@ -152,11 +152,11 @@ namespace Content.Client.UserInterface.Stylesheets
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");
var checkBoxTextureChecked = resCache.GetTexture("/Textures/Interface/Nano/checkbox_checked.svg.96dpi.png");
var checkBoxTextureUnchecked = resCache.GetTexture("/Textures/Interface/Nano/checkbox_unchecked.svg.96dpi.png");
// Tooltip box
var tooltipTexture = resCache.GetTexture("/Nano/tooltip.png");
var tooltipTexture = resCache.GetTexture("/Textures/Interface/Nano/tooltip.png");
var tooltipBox = new StyleBoxTexture
{
Texture = tooltipTexture,
@@ -165,7 +165,7 @@ namespace Content.Client.UserInterface.Stylesheets
tooltipBox.SetContentMarginOverride(StyleBox.Margin.Horizontal, 5);
// Placeholder
var placeholderTexture = resCache.GetTexture("/Nano/placeholder.png");
var placeholderTexture = resCache.GetTexture("/Textures/Interface/Nano/placeholder.png");
var placeholder = new StyleBoxTexture {Texture = placeholderTexture};
placeholder.SetPatchMargin(StyleBox.Margin.All, 19);
placeholder.SetExpandMargin(StyleBox.Margin.All, -5);
@@ -185,7 +185,7 @@ namespace Content.Client.UserInterface.Stylesheets
itemListItemBackgroundTransparent.SetContentMarginOverride(StyleBox.Margin.Horizontal, 4);
// NanoHeading
var nanoHeadingTex = resCache.GetTexture("/Nano/nanoheading.svg.96dpi.png");
var nanoHeadingTex = resCache.GetTexture("/Textures/Interface/Nano/nanoheading.svg.96dpi.png");
var nanoHeadingBox = new StyleBoxTexture
{
Texture = nanoHeadingTex,
@@ -199,7 +199,7 @@ namespace Content.Client.UserInterface.Stylesheets
nanoHeadingBox.SetPatchMargin(StyleBox.Margin.Left | StyleBox.Margin.Bottom, 2);
// Stripe background
var stripeBackTex = resCache.GetTexture("/Nano/stripeback.svg.96dpi.png");
var stripeBackTex = resCache.GetTexture("/Textures/Interface/Nano/stripeback.svg.96dpi.png");
var stripeBack = new StyleBoxTexture
{
Texture = stripeBackTex,
@@ -207,9 +207,9 @@ namespace Content.Client.UserInterface.Stylesheets
};
// Slider
var sliderOutlineTex = resCache.GetTexture("/Nano/slider_outline.svg.96dpi.png");
var sliderFillTex = resCache.GetTexture("/Nano/slider_fill.svg.96dpi.png");
var sliderGrabTex = resCache.GetTexture("/Nano/slider_grabber.svg.96dpi.png");
var sliderOutlineTex = resCache.GetTexture("/Textures/Interface/Nano/slider_outline.svg.96dpi.png");
var sliderFillTex = resCache.GetTexture("/Textures/Interface/Nano/slider_fill.svg.96dpi.png");
var sliderGrabTex = resCache.GetTexture("/Textures/Interface/Nano/slider_grabber.svg.96dpi.png");
var sliderFillBox = new StyleBoxTexture
{

View File

@@ -22,8 +22,8 @@ namespace Content.Client.UserInterface.Stylesheets
public StyleSpace(IResourceCache resCache) : base(resCache)
{
var notoSans10 = resCache.GetFont("/Nano/NotoSans/NotoSans-Regular.ttf", 10);
var notoSansBold16 = resCache.GetFont("/Nano/NotoSans/NotoSans-Bold.ttf", 16);
var notoSans10 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf", 10);
var notoSansBold16 = resCache.GetFont("/Textures/Interface/Nano/NotoSans/NotoSans-Bold.ttf", 16);
// Button styles.
var buttonNormal = new StyleBoxTexture(BaseButton)

View File

@@ -11,9 +11,9 @@ namespace Content.Client.UserInterface
private TargetingZone _activeZone = TargetingZone.Middle;
public const string StyleClassTargetDollZone = "target-doll-zone";
private const string TextureHigh = "/Textures/UserInterface/target-doll-high.svg.96dpi.png";
private const string TextureMiddle = "/Textures/UserInterface/target-doll-middle.svg.96dpi.png";
private const string TextureLow = "/Textures/UserInterface/target-doll-low.svg.96dpi.png";
private const string TextureHigh = "/Textures/Interface/target-doll-high.svg.96dpi.png";
private const string TextureMiddle = "/Textures/Interface/target-doll-middle.svg.96dpi.png";
private const string TextureLow = "/Textures/Interface/target-doll-low.svg.96dpi.png";
private readonly TextureButton _buttonHigh;
private readonly TextureButton _buttonMiddle;

View File

@@ -46,7 +46,7 @@ namespace Content.Client.UserInterface
//Get section header font
var cache = IoCManager.Resolve<IResourceCache>();
var inputManager = IoCManager.Resolve<IInputManager>();
Font headerFont = new VectorFont(cache.GetResource<FontResource>("/Nano/NotoSans/NotoSans-Regular.ttf"), _headerFontSize);
Font headerFont = new VectorFont(cache.GetResource<FontResource>("/Textures/Interface/Nano/NotoSans/NotoSans-Regular.ttf"), _headerFontSize);
var scrollContainer = new ScrollContainer();
scrollContainer.AddChild(VBox = new VBoxContainer());