public override async Task Move(GameManager gameManager, PathManager pathManager, AutoControllerState state)
    {
        MapTile       start  = GetPlayerPosition(gameManager);
        MapTile       goal   = state.GetTargetTile();
        PlayerManager player = state.GetTarget();

        if (goal != null)
        {
            await WalkToTile(gameManager, pathManager, state, start, goal, player);
        }
    }
    public override async Task Move(GameManager gameManager, PathManager pathManager, AutoControllerState state)
    {
        MapTile       goal     = state.GetTargetTile();
        PlayerManager player   = state.GetTarget();
        int           distance = (player == null ? 3 : 0);

        if (goal != null)
        {
            await MoveToMapTile(gameManager, pathManager, state, goal, player, distance);
        }
    }