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