Beispiel #1
0
        void Test(BasePlayer player, bool multi)
        {
            ReplenishPlayer rPlayer;

            if (IsPlayerEditing(player))
            {
                rPlayer = GetReplenishPlayer(player);
                rPlayer.StopUsing();
            }
            else
            {
                rPlayer = new ReplenishPlayer(player);
                playersUsing.Add(rPlayer);
            }

            if (multi)
            {
                ReplyPlayer(player, "TestMulti");
                rPlayer.multi = true;
            }
            else
            {
                ReplyPlayer(player, "TestSingle");
            }
            rPlayer.testing = true;
        }
Beispiel #2
0
        void Add(BasePlayer player, int timer, bool multi)
        {
            ReplenishPlayer rPlayer;

            if (IsPlayerEditing(player))
            {
                rPlayer = GetReplenishPlayer(player);
                rPlayer.StopUsing();
            }
            else
            {
                rPlayer = new ReplenishPlayer(player);
                playersUsing.Add(rPlayer);
            }

            if (multi)
            {
                ReplyPlayer(player, "AddMulti");
                rPlayer.multi = true;
            }
            else
            {
                ReplyPlayer(player, "AddSingle");
            }
            rPlayer.adding = true;
            rPlayer.timer  = timer;
        }
Beispiel #3
0
        void Stop(BasePlayer player)
        {
            if (!IsPlayerEditing(player))
            {
                ReplyPlayer(player, "NotUsing");
                return;
            }
            ReplenishPlayer rPlayer = GetReplenishPlayer(player);

            playersUsing.Remove(rPlayer);
        }
Beispiel #4
0
        void CreateReplenishableContainer(BasePlayer player, ReplenishPlayer rPlayer, StorageContainer container, HitInfo info, string type)
        {
            if (GetReplenishableContainer(container.inventory) != null)
            {
                containers.Remove(GetReplenishableContainer(container.inventory));
                ReplyPlayer(player, "AlreadyReplenishing");
            }

            ReplenishableContainer repl = new ReplenishableContainer(container.inventory.uid, rPlayer.timer);

            repl.type = Lang(type);
            repl.SaveItems(container.inventory);
            var worldPos = info.HitEntity.GetEstimatedWorldPosition();

            repl.pos = new Pos(worldPos.x, worldPos.y, worldPos.z);
            containers.Add(repl);
            ReplyFormatted(player, String.Format(Lang("BoxAdded"), repl.type, repl.uid, repl.timer));
        }
Beispiel #5
0
        void OnHammerHit(BasePlayer player, HitInfo info)
        {
            if (!IsPlayerEditing(player))
            {
                return;
            }

            StorageContainer container = info.HitEntity.GetComponent <StorageContainer>();

            if (container == null)
            {
                return;
            }
            ReplenishPlayer rPlayer = GetReplenishPlayer(player);

            string type = container.panelName;

            Puts(type + "");

            if (rPlayer.adding)
            {
                CreateReplenishableContainer(player, rPlayer, container, info, type);
            }

            if (rPlayer.removing)
            {
                RemoveReplenishableContainer(player, container);
            }

            if (rPlayer.testing)
            {
                TestReplenishableContainer(player, container);
            }

            if (!rPlayer.multi)
            {
                playersUsing.Remove(rPlayer);
            }
        }