Ejemplo n.º 1
0
    /// <summary>
    /// On battle state change.
    /// </summary>
    /// <param name="switchingFrom">...</param>
    /// <param name="switchingTo">...</param>
    static void OnBattleStateChange(BattleState switchingFrom, BattleState switchingTo)
    {
        switch (switchingFrom)
        {
        case BattleState.SHOWING_HIT_TILE:

            break;

        case BattleState.FIRING:
            foreach (Ship ship in battle.attackingPlayer.livingShips)
            {
                ship.PositionOnPlayingBoard();
                ship.gameObject.SetActive(false);
            }


            break;

        case BattleState.CHOOSING_TILE_TO_SHOOT:
            TorpedoTargetingBattleUIModule.Disable();
            break;
        }

        switch (switchingTo)
        {
        case BattleState.FIRING:
            battle.ChangeState(BattleState.SHOWING_HIT_TILE, 1f);
            Actionman.ActionView();

            break;

        case BattleState.SHOWING_HIT_TILE:
            battle.ChangeState(BattleState.TURN_FINISHED, 1.5f);
            ViewPlayer(battle.defendingPlayer);
            break;

        case BattleState.TURN_FINISHED:
            SetUpOverhead();
            Cameraman.TakePosition("Overhead View", 0.45f);
            Interface.SwitchMenu("Overhead");
            break;

        case BattleState.CHOOSING_TILE_TO_SHOOT:
            break;
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Sets up the overhead view.
    /// </summary>
    static void SetUpOverhead()
    {
        foreach (Player player in battle.players)
        {
            player.board.Set(BoardState.OVERHEAD);
            if (player == battle.attackingPlayer)
            {
                player.SetMacroMarker(0);
            }

            if (!player.alive)
            {
                player.SetMacroMarker(1);
            }
        }
        TorpedoTargetingBattleUIModule.Disable();
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Shows a player's board.
    /// </summary>
    /// <param name="player">The player, who's board to show.</param>
    static void ViewPlayer(Player player)
    {
        player.SetMacroMarker(-1);

        if (player == battle.attackingPlayer || (GameController.humanPlayers == 1 && !player.AI) || GameController.humanPlayers == 0)
        {
            player.board.Set(BoardState.FRIENDLY);
        }
        else if (!battle.attackingPlayer.AI || GameController.humanPlayers == 0)
        {
            player.board.Set(BoardState.ENEMY);
            TorpedoTargetingBattleUIModule.Enable();
        }
        else
        {
            player.board.Set(BoardState.OVERHEAD);
        }
        Cameraman.TakePosition("Board " + (player.ID + 1), 0.3f);
    }