示例#1
0
        public void AddCommand(S2CBattleCommand msg)
        {
            TurnData turnData;

            if (!mTurnDataDic.TryGetValue(msg.TurnId, out turnData))
            {
                turnData = new TurnData();
                mTurnDataDic[msg.TurnId] = turnData;
            }

            List <Command> commandList = new List <Command>();

            for (int i = 0; i < msg.Commands.Count; i++)
            {
                Command command = null;
                switch (msg.Commands[i].Type)
                {
                case CommandType.EMove:
                {
                    command = Command.Deserialize <MoveCommand>(msg.Commands[i].Data.ToByteArray());
                }
                break;

                case CommandType.ENone:
                {
                    command = Command.Deserialize <NullCommand>(msg.Commands[i].Data.ToByteArray());
                }
                break;
                }

                commandList.Add(command);
            }

            turnData.AddCommand(msg.PlayerId, commandList);
        }