Beispiel #1
0
 private void TryStartGame()
 {
     if (initingGame.CanComplete)
     {
         Room.Battling = true;
         Server.Send(RoomS2C.ChangeBattling(Room.Id));
         if (Room.Settings.Mode.PlayersPerTeam() == 2)
         {
             Server.GetUser(Room[0, 0].Id).Send(new PartnerInfoS2C(initingGame.GetPokemons(0, 1)));
             Server.GetUser(Room[0, 1].Id).Send(new PartnerInfoS2C(initingGame.GetPokemons(0, 0)));
             Server.GetUser(Room[1, 0].Id).Send(new PartnerInfoS2C(initingGame.GetPokemons(1, 1)));
             Server.GetUser(Room[1, 1].Id).Send(new PartnerInfoS2C(initingGame.GetPokemons(1, 0)));
         }
         rig                 = initingGame;
         game                = initingGame.Complete();
         initingGame         = null;
         game.GameUpdated   += OnGameUpdate;
         game.GameEnd       += EndGame;
         game.TimeUp        += OnTimeUp;
         game.WaitingNotify += OnWaitingForInput;
         game.Error         += OnError;
         Send(new GameStartS2C(game.GetFragment()));
         game.Start();
     }
 }
Beispiel #2
0
 private void EndGame()
 {
     Record.Add(Room, rig);
     Record.Add(Room, game);
     game.Dispose();
     game          = null;
     Room.Battling = false;
     Server.Send(RoomS2C.ChangeBattling(Room.Id));
 }