Esempio n. 1
0
    /**
     * Method that selects the tile at the given coordinate (pos)
     */
    public static void SelectTile(Vector2 pos)
    {
        currentSelection.Add(pos);
        GameObject gameObject = grid[(int)pos.x, (int)pos.y].gameObject;
        BoxScript  boxScript  = gameObject.GetComponent <BoxScript>();

        currentWord += boxScript.Letter;

        /*****************************************************************
        * FEATURE: Highlighting color gradient based on frequency feature
        *****************************************************************/
        DisplayHighlightFeedback();

        // ALSO: display the border around the tile
        boxScript.DisplayBorder();

        /******************************************************************
        * FEATURE: Obstructions- disable / enable button depending on
        *          word's validity
        ******************************************************************/
        if (GameManagerScript.obstructionProductive || GameManagerScript.obstructionUnproductive)
        {
            GameManagerScript.gameManager.UpdatePlayButton();
        }

        /*****************************************************************
        * FEATURE: Shiny particles whenever you select a tile!
        * Productive Juice. Unproductive juice produces particles every touch
        *****************************************************************/
        if (GameManagerScript.juiceProductive)
        {
            boxScript.PlayShinySelectParticles();
        }

        /******************************************************************
        * FEATURE: juice: turn on this flag so that the tile
        *          bounces around/animates when selected
        ******************************************************************/
        boxScript._isSelected = true;

        //=====================================================================
        //  FEATURE: Juice: extra animations/bouncing if tile is selected.
        //=====================================================================
        if (GameManagerScript.juiceUnproductive || GameManagerScript.juiceProductive)
        {
            // Animate the tile
            boxScript.StartCoroutine(boxScript.AnimateBouncingTile());
        }

        //=====================================================================
        //  FEATURE: Unproductive Juice: camera shakes and explosions when
        //           selecting letters.
        //=====================================================================
        if (GameManagerScript.juiceUnproductive)
        {
            CameraShaker.instance.ShakeOnce(3f, 3.5f, .1f, .3f);
        }

        // Play sound effect
        AudioManager.instance.Play("Select");

        DisplaySelectedScore();
    }