Add label to lathe UI (and friends) to show when no materials are loaded (#12893)
Also, don't list materials which have previously been loaded and completely consumed. Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
This commit is contained in:
@@ -67,14 +67,26 @@ public sealed partial class LatheMenu : DefaultWindow
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Materials.Clear();
|
Materials.Clear();
|
||||||
|
|
||||||
foreach (var (id, amount) in materials.Storage)
|
foreach (var (id, amount) in materials.Storage)
|
||||||
{
|
{
|
||||||
if (!_prototypeManager.TryIndex(id, out MaterialPrototype? material))
|
if (!_prototypeManager.TryIndex(id, out MaterialPrototype? material))
|
||||||
continue;
|
continue;
|
||||||
var mat = Loc.GetString("lathe-menu-material-display",
|
|
||||||
("material", material.Name), ("amount", amount));
|
if (amount > 0)
|
||||||
Materials.AddItem(mat, _spriteSystem.Frame0(material.Icon), false);
|
{
|
||||||
|
var mat = Loc.GetString("lathe-menu-material-display",
|
||||||
|
("material", material.Name), ("amount", amount));
|
||||||
|
Materials.AddItem(mat, _spriteSystem.Frame0(material.Icon), false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Materials.Count == 0)
|
||||||
|
{
|
||||||
|
var noMaterialsMsg = Loc.GetString("lathe-menu-no-materials-message");
|
||||||
|
Materials.AddItem(noMaterialsMsg, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
PopulateRecipes(lathe);
|
PopulateRecipes(lathe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,3 +6,4 @@ lathe-menu-search-designs = Search designs
|
|||||||
lathe-menu-search-filter = Filter
|
lathe-menu-search-filter = Filter
|
||||||
lathe-menu-amount = Amount:
|
lathe-menu-amount = Amount:
|
||||||
lathe-menu-material-display = {$material} {$amount} cm³
|
lathe-menu-material-display = {$material} {$amount} cm³
|
||||||
|
lathe-menu-no-materials-message = No materials loaded
|
||||||
|
|||||||
Reference in New Issue
Block a user