예제 #1
0
        public void handleGameUpdate(NetworkMessage updateMsg)
        {
            GameUpdate msg = Deserialize <GameUpdate> (updateMsg.reader.ReadBytesAndSize());

            clientRenderer.movePlayer(msg.blueCoords, msg.redCoords);

            RealtimeTCPController.gotNewBoard(colorToTeam(msg.myColor), formatBoard(msg));
        }
 public void addNewUpdate(List <Position2D> blocked, int dir, int enemyDir, Position2D playerPos, Position2D enemyPos, BoardState state)
 {
     foreach (Position2D c in blocked)
     {
         if (oldCoords.Any((p) => GameUtils.comparePos(c, p)))
         {
             continue;
         }
         oldCoords.Add(c);
     }
     RealtimeTCPController.gotNewBoard(team, formatBoard(dir, enemyDir, playerPos, enemyPos, state));
 }
        public void handleBoardUpdate(NetworkMessage boardMsg)
        {
            byte[]      bytes = boardMsg.reader.ReadBytesAndSize();
            BoardUpdate msg   = Deserialize <BoardUpdate> (bytes);

            if (msg.updateID < lastUpdateID)
            {
                return;
            }

            if (msg.updateID > lastUpdateID)
            {
                lastUpdateID = msg.updateID;
                localRenderer.renderNewBoard(msg);
            }

            //print ("Update : " + msg.color);

            RealtimeTCPController.gotNewBoard(BombermanOverlord.convertColorToTeam(msg.color), BombermanBoardParser.parseBoard(msg));
        }