Пример #1
0
 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);
 }
Пример #2
0
        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);
            }
        }