예제 #1
0
    public void DelayedAwake()
    {
        letters = new List <Letter>(maxLetters);
        currentWordPosibleState = EWordState.WORDS_AVAILABLE;

        if (PersistentData.GetInstance())
        {
            wordsValidator = PersistentData.GetInstance().abcDictionary;
        }
        else
        {
            wordsValidator = FindObjectOfType <ABCDictionary> ();
        }
        if (inputWords)
        {
            inputWords.onTap                    += OnGridLetterTapped;
            inputWords.onTapToDelete            += onLetterTap;
            inputWords.onLetterOnGridDragFinish += OnLetterDragStart;

            inputWords.onDragUpdate += OnLetterDragging;
            inputWords.onDragFinish += OnLetterDragFinish;
            inputWords.onDragStart  += OnLetterDragStart;

            inputWords.onChangePutLetterOverContainer += onChangePutLetterOverContainer;
        }

        wordCompleteButtonRectTransform = wordCompleteButton.GetComponent <RectTransform>();
        wordDeleteButtonRectTransform   = wordDeleteButton.GetComponent <RectTransform>();

        //wordCompleteButtonRectTransform.anchoredPosition = new Vector2 (Screen.width * 0.5f, wordCompleteButtonRectTransform.anchoredPosition.y);
        //wordDeleteButtonRectTransform.anchoredPosition = new Vector2 (Screen.width * 0.5f, wordDeleteButtonRectTransform.anchoredPosition.y);


        activateWordBtn(false, false);
        activatePointsGO(false);
        activateNoWordPosibleText(false);

        centerVacuum = Screen.width * 0.5f;

        wordContainerLayout              = letterContainer.GetComponent <GridLayoutGroup>();
        wordContainerRectTransform       = letterContainer.GetComponent <RectTransform> ();
        noWordPosible.transform.position = letterContainer.transform.position;
        letterContainerTransform         = letterContainer.transform;
    }
예제 #2
0
    IEnumerator updateLetterHintState(List <Letter> gridLetter)
    {
        yield return(new WaitForSeconds(0));

        cancelHint = false;
        for (int i = 0; i < gridLetter.Count; i++)
        {
            yield return(new WaitForSeconds(0.4f));

            if (!cancelHint && gridLetter[i] != null)
            {
                //gridLetter [i].updateState (Letter.EState.NORMAL);

                //HighLightManager.GetInstance ().setHighLightOfType (HighLightManager.EHighLightType.SPECIFIC_CELL,cellSelected.transform);
                gridLetter[i].transform.DOShakePosition(0.5f);

                gridLetter [i].hinted = true;
                gridLetter [i].updateState(Letter.EState.HINTED);
                if (AudioManager.GetInstance())
                {
                    AudioManager.GetInstance().Stop("helpLetterSuggested");
                    AudioManager.GetInstance().Play("helpLetterSuggested");
                }

                yield return(new WaitForSeconds(0.4f));
            }
        }
        yield return(new WaitForSeconds(0.4f));


        if (!cancelHint)
        {
            HighLightManager.GetInstance().turnOffHighLights(HighLightManager.EHighLightType.SPECIFIC_CELL);
            currentWordPosibleState = EWordState.HINTED_WORDS;
            for (int i = 0; i < gridLetter.Count; i++)
            {
                gridLetter [i].hinted = false;
            }
            updateGridLettersState(gridLetter, EWordState.WORDS_AVAILABLE);

            updateGridLettersState(gridLetter, EWordState.HINTED_WORDS);
        }
    }
예제 #3
0
    public void updateGridLettersState(List <Letter> gridLetter, EWordState wordState)
    {
        switch (wordState)
        {
        case EWordState.NO_WORDS_AVAILABLE:
            currentWordPosibleState = EWordState.NO_WORDS_AVAILABLE;
            for (int i = 0; i < gridLetter.Count; i++)
            {
                gridLetter [i].updateState(Letter.EState.WRONG);
            }
            //noWordPosible.SetActive (true);
            activateNoWordPosibleText(true);

            break;

        case EWordState.WORDS_AVAILABLE:
            //if(currentWordPosibleState != EWordState.WORDS_AVAILABLE)
        {
            currentWordPosibleState = EWordState.WORDS_AVAILABLE;
            for (int i = 0; i < gridLetter.Count; i++)
            {
                gridLetter [i].updateState(Letter.EState.NORMAL);
            }
            activateNoWordPosibleText(false);
        }
            //noWordPosible.SetActive (false);
            break;

        case EWordState.HINTED_WORDS:
            if (currentWordPosibleState != EWordState.HINTED_WORDS && !cancelHint)
            {
                hintedLetters           = gridLetter;
                currentWordPosibleState = EWordState.HINTED_WORDS;
                StartCoroutine(updateLetterHintState(gridLetter));
            }
            break;
        }
    }