public IEnumerator Move()
        {
            ShowMove();

            ToggleWindow(false, false);

            QuadTile target = null;

            // Wait for click
            while (!target)
            {
                if (Input.GetButtonDown("Fire1"))
                {
                    target = QuadTileMap.GetTarget(LayerMask.GetMask("Viable Marker"));
                }
                yield return(null);
            }

            mover.StopUpdatingPath = true;

            ConfirmationDialog dialog = Instantiate(dialogPrefab, transform.parent);

            // Wait for dialog input
            while (dialog.Result == DialogResult.None)
            {
                yield return(null);
            }

            if (dialog.Result == DialogResult.Yes)
            {
                Destroy(dialog.gameObject);
                CharacterData data       = turnManager.CurrentCharacter.Data;
                MoveParams    moveParams = moved ? data.rushParams : data.moveParams;
                yield return(StartCoroutine(mover.Move(turnManager.CurrentCharacter, target.Path(), moveParams,
                                                       data.jumpParams)));

                turnManager.CurrentCharacter.LoseActionPoints(moveCost);
                moveCost++;

                if (moved)
                {
                    MoveButton.interactable = false;
                }
                moved = true;
            }
            else
            {
                Destroy(dialog.gameObject);
            }

            mover.Clear(PathfindingClear.Both);
            ToggleWindow(true, false);
        }