Пример #1
0
    void Awake()
    {
        instance     = this;
        speedFactor  = 1;
        damageFactor = 0;

        remainHP    = TotalHP;
        currentType = LayerType.None;
        nextDamage  = damageDelay;

        HPBarScale  = HPLeft.localScale;
        HPBarSprite = HPLeft.GetComponentInChildren <SpriteRenderer> ();
    }
Пример #2
0
        private void OnDrillDispenserGather(GameObject obj, DrillMachine machine, List <ItemObject> items)
        {
            this._owner = GameManager.Instance.GetIdentity(machine.networkView.owner);
            for (int i = 0; i < items.Count; i++)
            {
                int defaultStack = items[i].StackSize;
                if (_config.EnableGlobalMultiplier)
                {
                    items[i].StackSize = defaultStack * _config.GlobalMultiplier;
                }
                else
                {
                    items[i].StackSize = defaultStack * _config.MiningDrills;
                }

                items[i].InvalidateStack();
            }
        }
Пример #3
0
        private void ToggleMachines(bool toggle, IPlayer player = null)
        {
            if (config.CampfireControl)
            {
                var count      = 0;
                var enumerator = CampfireMachine.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var camp = enumerator.Current.Value;

                    if (!camp.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (camp.Powered == toggle)
                    {
                        continue;
                    }
                    if (!camp.HasFuel)
                    {
                        continue;
                    }

                    camp.RPC("SetPoweredServer", 0, toggle);
                    count++;
                }

                var message = Lang(toggle ? "MachinesStarted" : "MachinesStopped", player?.Id, count, "fridge");
                player?.Reply(message);
                Puts(message); // TODO: Logging optional
            }

            if (config.DrillControl)
            {
                var count  = 0;
                var drills = DrillMachine.GetEnumerator();
                while (drills.MoveNext())
                {
                    var drill = drills.Current.Value;

                    if (!drill.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (drill.Powered == toggle)
                    {
                        continue;
                    }
                    if (!drill.HasFuel)
                    {
                        continue;
                    }

                    drill.RPC("SetPoweredServer", 0, toggle);
                    count++;
                }

                var message = Lang(toggle ? "MachinesStarted" : "MachinesStopped", player?.Id, count, "fridge");
                player?.Reply(message);
                Puts(message); // TODO: Logging optional
            }

            if (config.FridgeControl)
            {
                var count      = 0;
                var enumerator = FridgeMachine.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var fridge = enumerator.Current.Value;

                    if (!fridge.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (fridge.Powered == toggle)
                    {
                        continue;
                    }

                    fridge.RPC("SetPoweredServer", 0, toggle);
                    count++;
                }

                var message = Lang(toggle ? "MachinesStarted" : "MachinesStopped", player?.Id, count, "fridge");
                player?.Reply(message);
                Puts(message); // TODO: Logging optional
            }

            // TODO: Combine messages into single message. Ex. "2 campfires, 3 drills, and 4 fridges stopped"

            state = toggle;
        }
Пример #4
0
        void ToggleMachines(bool toggle, IPlayer player = null)
        {
            if (campfireControl)
            {
                var count      = 0;
                var enumerator = CampfireMachine.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var camp = enumerator.Current.Value;

                    if (!camp.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (camp.GetPowered() == toggle)
                    {
                        continue;
                    }
                    if (!camp.HasFuel)
                    {
                        continue;
                    }

                    camp.SetPoweredServer(toggle);
                    count++;
                }

                var message = toggle ? Lang("Started", player?.Id, count, "campfire") : Lang("Stopped", player?.Id, count, "campfire");
                player?.Reply(message);
                Puts(message);
            }

            if (drillControl)
            {
                var count  = 0;
                var drills = DrillMachine.GetEnumerator();
                while (drills.MoveNext())
                {
                    var drill = drills.Current.Value;

                    if (!drill.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (drill.GetPowered() == toggle)
                    {
                        continue;
                    }
                    if (!drill.HasFuel)
                    {
                        continue;
                    }

                    drill.SetPoweredServer(toggle);
                    count++;
                }

                var message = toggle ? Lang("Started", player?.Id, count, "drill") : Lang("Stopped", player?.Id, count, "drill");
                player?.Reply(message);
                Puts(message);
            }

            if (fridgeControl)
            {
                var count      = 0;
                var enumerator = FridgeMachine.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var fridge = enumerator.Current.Value;

                    if (!fridge.isActiveAndEnabled)
                    {
                        continue;
                    }
                    if (fridge.GetPowered() == toggle)
                    {
                        continue;
                    }
                    if (!fridge.HasFuel)
                    {
                        continue;
                    }

                    fridge.SetPoweredServer(toggle);
                    count++;
                }

                var message = toggle ? Lang("Started", player?.Id, count, "fridge") : Lang("Stopped", player?.Id, count, "fridge");
                player?.Reply(message);
                Puts(message);
            }

            state = toggle;
        }