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();
            }
        }
Beispiel #2
0
        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);
 }