Exemple #1
0
        private void OnDepositCanceled(string guid)
        {
            DepositController trade;

            if (m_Boxes.TryGetValue(guid, out trade))
            {
                global::RustyCore.Utils.Logger.Info($"DepositCanceled {trade.shop.net.ID}");
                trade.shop.ReturnPlayerItems(trade.player1);
                trade.shop.ReturnPlayerItems(trade.player2);
                var hash = m_Hashes[trade];
                m_Hashes.Remove(trade);
                DropDeposit(trade);
                Duels?.Call("OnDepositEnd", false, hash);
            }
        }
Exemple #2
0
        private void OnCompleteTrade(ShopFront shop)
        {
            var trade = m_Boxes.Select(p => p.Value).FirstOrDefault(p => p.shop.net.ID == shop.net.ID);

            if (trade != null)
            {
                global::RustyCore.Utils.Logger.Info($"OnCompleteTrade {trade.shop.net.ID}");
                trade.Complete();
                var competition = new Competition();

                m_Instance.Puts("Ставка " + shop.customerPlayer);
                var customerItems = new List <Item>();
                foreach (var item in shop.customerInventory.itemList.Where(p => p != null).ToList())
                {
                    m_Instance.Puts(item.info.shortname + " " + item.amount);
                    item.RemoveFromContainer();
                    customerItems.Add(item);
                }

                m_Instance.Puts("Ставка " + shop.vendorPlayer);
                var vendorItems = new List <Item>();
                foreach (var item in shop.vendorInventory.itemList.Where(p => p != null).ToList())
                {
                    m_Instance.Puts(item.info.shortname + " " + item.amount);
                    item.RemoveFromContainer();
                    vendorItems.Add(item);
                }

                competitions.Add(competition);
                competition.Players.Add(shop.customerPlayer);
                competition.Players.Add(shop.vendorPlayer);
                competition.Bets = new Dictionary <BasePlayer, List <Item> >()
                {
                    { shop.customerPlayer, customerItems },
                    { shop.vendorPlayer, vendorItems },
                };
                var hash = m_Hashes[trade];
                m_Hashes.Remove(trade);
                Duels?.Call("OnDepositEnd", true, hash);
                DropDeposit(trade);
            }
        }