public BattleAIClient(BattleAIServerManager battleAIServerManager, EAccount account) { BattleAIServerManager = battleAIServerManager; SendServerCommand = new SendServerCommand() { UserID = account.ID.ToString(), Face = account.Face, NickName = account.NickName, Vip = account.Vip }; ReceiveServerCommand = new ReceiveServerCommand(this); }
public void SendToAIUser(string accountid, BattleCommand command, Battle battle) { int uid = Convert.ToInt32(accountid); if (!allAIClient.ContainsKey(uid)) { return; } try { LogHelper.DebugLog("开始调用:" + accountid + " 命令:" + command.ToString()); BattleAIClient client = allAIClient[uid]; ReceiveServerCommand rsc = client.ReceiveServerCommand; rsc.GetType().InvokeMember(command.ToString(), BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, rsc, new object[] { battle }); } catch (Exception ex) { LogHelper.LogError("调用方法" + command.ToString() + "出错:" + ex.StackTrace); } }