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;
|
||||
|
||||
Materials.Clear();
|
||||
|
||||
foreach (var (id, amount) in materials.Storage)
|
||||
{
|
||||
if (!_prototypeManager.TryIndex(id, out MaterialPrototype? material))
|
||||
continue;
|
||||
var mat = Loc.GetString("lathe-menu-material-display",
|
||||
("material", material.Name), ("amount", amount));
|
||||
Materials.AddItem(mat, _spriteSystem.Frame0(material.Icon), false);
|
||||
|
||||
if (amount > 0)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,3 +6,4 @@ lathe-menu-search-designs = Search designs
|
||||
lathe-menu-search-filter = Filter
|
||||
lathe-menu-amount = Amount:
|
||||
lathe-menu-material-display = {$material} {$amount} cm³
|
||||
lathe-menu-no-materials-message = No materials loaded
|
||||
|
||||
Reference in New Issue
Block a user