Example #1
0
        void OnItemAddedToContainer(ItemContainer container, Item item)
        {
            if (container.playerOwner is BasePlayer)
            {
                OnlinePlayer onlinePlayer;
                if (onlinePlayers.TryGetValue(container.playerOwner, out onlinePlayer) && onlinePlayer.Trade != null)
                {
                    OpenTrade t = onlinePlayers [container.playerOwner].Trade;

                    if (!t.complete)
                    {
                        t.ResetAcceptance();

                        if (t.IsValid())
                        {
                            ShowTrades(t, "Trade: Pending");
                        }
                        else
                        {
                            TradeCloseBoxes(t);
                        }
                    }
                }
            }
        }
Example #2
0
        void CompleteTrade(OpenTrade t)
        {
            if (t.IsInventorySufficient())
            {
                t.ResetAcceptance();
                ShowTrades(t, "Inventory: Generic");
                return;
            }
            if (t.complete)
            {
                return;
            }
            t.complete = true;
            t.closing  = true;

            TradeCooldown(t);

            TradeReply(t, "Status: Completing");
            Interface.Oxide.NextTick(() => FinishTrade(t));
        }