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(); } }
private void EndGame() { Record.Add(Room, rig); Record.Add(Room, game); game.Dispose(); game = null; Room.Battling = false; Server.Send(RoomS2C.ChangeBattling(Room.Id)); }