コード例 #1
0
    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));
    }
コード例 #2
0
    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));
    }