private static void CheckAndDrop(StorageLockerSmart storageLocker, LogicPorts ports) { if (ports.GetInputValue(DropPortID) == 1) { var filteredStorage = FilteredStorageGetter.Invoke(storageLocker); var storage = StorageGetter.Invoke(filteredStorage); storage.DropAll(); } }
static void Postfix(StorageLockerSmart __instance) { if (!Main.enabled) { return; } var building = __instance.GetComponent <Building>(); Main.SetCapacity(building, true); }
public static void Postfix(StorageLockerSmart __instance, LogicPorts ___ports) { __instance.Subscribe(Convert.ToInt32(GameHashes.LogicEvent), logicValueChanged => { var changed = (LogicValueChanged)logicValueChanged; if (changed.portID == DropPortID && changed.newValue == 1) { CheckAndDrop(__instance, ___ports); } }); }
public static void Postfix(StorageLockerSmart __instance, LogicPorts ___ports) { CheckAndDrop(__instance, ___ports); }