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); } } } } }
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)); }