Пример #1
0
    void Click()
    {
        if (timerStarted && Input.GetMouseButtonDown(0))
        {
            timerStarted = false;

            inputTimer = 0;

            TargetPosition.SelectTile();

            PlayerPosition.GetPlayerTile();

            PlayerPhasing.PlayerPhase();

            AudioManager.Instance.PlayFX(phaseSound);

            if (tileIsPhasable && PlayerPosition.player.transform.position.x == PlayerPosition.playerTile.transform.position.x && PlayerPosition.player.transform.position.z == PlayerPosition.playerTile.transform.position.z)
            {
                PlayerPhasing.isPhasing = true;

                hasClicked = true;
            }
        }

        if (Input.GetMouseButtonDown(0))
        {
            TargetPosition.SelectTile();

            PlayerPosition.GetPlayerTile();

            PlayerPhasing.PlayerPhase();

            if (!tileIsPhasable)
            {
                inputTimer = 1;
            }


            if (tileIsPhasable)
            {
                timerStarted = true;
            }
        }

        if (hasClicked && !PlayerPhasing.isPhasing)
        {
            hasClicked = false;

            timerStarted = false;

            inputTimer = 0;
        }

        if (inputTimer > doubleClickTimingWindow && !hasClicked)
        {
            timerStarted = false;

            tileIsPhasable = false;

            inputTimer = 0;

            TargetPosition.SelectTile();

            if (PathfindingManager.Instance.tilePath.Count == 0)
            {
                PlayerPosition.GetPlayerTile();
            }
            else if (PathfindingManager.Instance.tilePath.Count != 0)
            {
                PlayerPosition.playerTile = PathfindingManager.Instance.tilePath[0];
            }

            //If the player tile and target tile cords have both been found, the A* pathfinding begins.
            PathfindingManager.Instance.FindAstarPath();
        }
    }