void HandleTradeCommand(string msg, SteamID sender) { var pendingTrades = PendingTrades.ToList(); foreach (var trade in pendingTrades) { if (trade.Target == sender) { Logger.WriteLine("User already in trade queue, ignoring request..."); return; } } if (pendingTrades.Count != 0) { SteamFriends.SendChatMessage(sender, EChatEntryType.ChatMsg, string.Format("You were added to the trade queue at pos #{0}.", pendingTrades.Count + 1)); } var request = new TradeRequest(); request.Timestamp = DateTime.Now; request.Target = sender; PendingTrades.Enqueue(request); }
void HandleListTradesCommand(string msg, SteamID sender) { var sb = new StringBuilder(); var pendingTrades = PendingTrades.ToArray(); if (pendingTrades.Length == 0) { sb.AppendLine("No queued trades."); } else { sb.AppendLine("Queued trades:"); } foreach (var trade in pendingTrades) { sb.AppendLine(string.Format("{0} ({1}) on {2}", SteamFriends.GetFriendPersonaName(trade.Target), trade.Target.ConvertToUInt64(), trade.Timestamp.ToShortTimeString())); } SteamFriends.SendChatMessage(sender, EChatEntryType.ChatMsg, sb.ToString()); }