Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Scripts/XUIC/XUiC_WorkstationFuelGridRebirth.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

73 lines
2.9 KiB
C#

using UnityEngine.Scripting;
#nullable disable
[Preserve]
public class XUiC_WorkstationFuelGridRebirth : XUiC_WorkstationFuelGrid
{
public string requiredFuels = "";
[PublicizedFrom(EAccessModifier.Private)]
public bool requiredFuelsOnly;
public event XuiEvent_WorkstationItemsChanged OnWorkstationFuelsChanged;
public override void Init()
{
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init START");
base.Init();
string[] strArray = this.requiredFuels.Split(',', StringSplitOptions.None);
for (int index = 0; index < this.itemControllers.Length; ++index)
{
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init index: " + index);
if (index < strArray.Length)
{
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init GetItemClass: " + ItemClass.GetItemClass(strArray[index]));
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init this.requiredFuelsOnly: " + this.requiredFuelsOnly);
((XUiC_RequiredItemStack)this.itemControllers[index]).RequiredItemClass = ItemClass.GetItemClass(strArray[index]);
((XUiC_RequiredItemStack)this.itemControllers[index]).RequiredItemOnly = this.requiredFuelsOnly;
}
else
{
((XUiC_RequiredItemStack)this.itemControllers[index]).RequiredItemClass = (ItemClass)null;
((XUiC_RequiredItemStack)this.itemControllers[index]).RequiredItemOnly = false;
}
}
}
/*public bool AddItem(ItemClass _itemClass, ItemStack _itemStack)
{
Log.Out("XUiC_WorkstationFuelGridRebirth-AddItem START");
if (!this.requiredFuelsOnly)
{
Log.Out("XUiC_WorkstationFuelGridRebirth-AddItem REQUIRED ONLY");
return false;
}
Log.Out("XUiC_WorkstationFuelGridRebirth-AddItem BYPASSED");
this.TryStackItem(this.isOn ? 1 : 0, _itemStack);
return _itemStack.count > 0 && this.AddItem(_itemStack);
}*/
public override bool ParseAttribute(string name, string value, XUiController _parent)
{
//Log.Out("XUiC_WorkstationFuelGridRebirth-ParseAttribute START, name: " + name);
bool attribute = base.ParseAttribute(name, value, _parent);
if (attribute)
return attribute;
switch (name)
{
case "required_fuels":
this.requiredFuels = value;
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init this.requiredFuels: " + this.requiredFuels);
break;
case "required_fuels_only":
this.requiredFuelsOnly = StringParsers.ParseBool(value);
//Log.Out("XUiC_WorkstationFuelGridRebirth-Init this.requiredFuelsOnly: " + this.requiredFuelsOnly);
break;
default:
return false;
}
return true;
}
}