public override void HandleOut(string command, List <string> args, string line)
        {
            switch (command)
            {
            case "opponentIsReady": {
                Console.WriteLine("Opponent is ready!");
                Program.connection.SendCommand(setup.ToCommand());
            }
                return;

            case "opponentLayout": {
                int cnt;
                Int32.TryParse(args[0], out cnt);
                string name;
                int    x, y, rotated;
                int    argOffset = 1;
                for (int i = 0; i < cnt; i++)
                {
                    name = args[argOffset];
                    Int32.TryParse(args[argOffset + 1], out x);
                    Int32.TryParse(args[argOffset + 2], out y);
                    Int32.TryParse(args[argOffset + 3], out rotated);
                    opponentSetup.TryPlace(name, x, y, rotated == 1 ? true : false);
                    argOffset += 4;
                }
            }
                if (setup.UnitsArePlaced() && opponentSetup.UnitsArePlaced())
                {
                    Program.SwitchState(new GameplayState(setup, opponentSetup, yourTurn));
                }
                return;
            }
            base.HandleOut(command, args, line);
        }
Пример #2
0
 public void Init(bool _opponentIsReady)
 {
     setupExchangeHandler.yourTurn = _opponentIsReady;
     if (_opponentIsReady)
     {
         Program.connection.SendCommand(setup.ToCommand());
     }
     else
     {
         Console.WriteLine("Waiting for other player...");
     }
 }