73 lines
2.9 KiB
C#
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;
|
|
}
|
|
}
|