/// <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;
        }
    }
    /// <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();
    }