public void OnReady(NetworkMessage msg) { int pawnId = msg.conn.connectionId; ready[pawnId] = true; for (int i = 0; i < pawns.Length; i++) { if (!ready[i]) { return; } } ServerBattle battle = new ServerBattle(game); battle.allies = pawns; for (int i = 0; i < battle.allies.Length; i++) { battle.allies[i].OnSpellsChange.Invoke(null, battle.allies[i]); battle.allies[i].Heal(battle.allies[i].MaxHp); } battle.enemy = game.CreateNextEnemy(); battle.enemy.SetId(battle.allies.Length); GameMsg.MsgStartBattle startBattleMsg = new GameMsg.MsgStartBattle() { battle = battle }; NetworkServer.SendToAll(GameMsg.StartBattle, startBattleMsg); game.OpenServerHandler(new BattleServerHandler(game, battle)); }
public void StartGame(LobbyClientHandler.LobbyPlayer[] lobbyPlayers) { Game.enemy = -1; ServerBattle battle = new ServerBattle(this); battle.allies = new Pawn[lobbyPlayers.Length]; for (int i = 0; i < battle.allies.Length; i++) { battle.allies[i] = Pawn.CreatePlayer(lobbyPlayers[i]); } battle.enemy = CreateNextEnemy(); battle.enemy.SetId(battle.allies.Length); GameMsg.MsgStartBattle msg = new GameMsg.MsgStartBattle() { battle = battle }; NetworkServer.SendToAll(GameMsg.StartBattle, msg); OpenServerHandler(new BattleServerHandler(this, battle)); }