Beispiel #1
0
    public void DisableSelf(bool disableGO = false, bool destroyGO = false)
    {
        if (!gameObject.activeInHierarchy)
        {
            return;
        }
        StopAllCoroutines();

        if (autoDetectImages)
        {
            allImages = transform.GetComponentsInChildren <Image>();
        }

        foreach (Image im in allImages)
        {
            UiTweeners.ImAlphaCrossFromValueToValue(this, im, im.color.a, 0, disappearTime);
        }
        foreach (Text t in allTexts)
        {
            UiTweeners.TextCrossFromValueToValue(this, t, t.color.a, 0, disappearTime);
        }
        SpriteTweeners.SpriteScaleCrossFromValueToValue(this, scalableSprite, scalableSprite.localScale.x, disableScale, disappearTime);
        if (disableGO)
        {
            StartCoroutine(DisableProcess(destroyGO));
        }
    }
Beispiel #2
0
 public override void OnScreenOpen(LessonData data = null)
 {
     base.OnScreenOpen(data);
     gameObject.SetActive(true);
     openLettersMenuButton.enabled = true;
     SpriteTweeners.SpriteScaleCrossFromValueToValue(this, openLettersMenuButton.transform, 0, 1, 0.2f);
 }
Beispiel #3
0
    public void OnClickOnLetter(Letter l)
    {
        if (lockTouchLetters)
        {
            return;
        }
        bool correct = l.id == correctLetterID;

        l.SetAnimationState(Letter.LetterAnimState.Click);
        if (correct)
        {
            completedLettersCount++;
            SpriteTweeners.SpriteMoveToPointViaCurve(this, l.transform, l.parentLetter.transform.position, moveCurve2, flyTime);
            l.SetColor(Color.red, flyTime);
            l.interactable = false;
            if (completedLettersCount == lettersOnTopObjects.Length)
            {
                OnWin();
            }
        }
        else
        {
            StopAllCoroutines();
            l.ColorOnFail();
            StartCoroutine(RestartLevelOnFail());
        }
        if (playCorrectLetterRoutine != null)
        {
            StopCoroutine(playCorrectLetterRoutine);
        }
        playCorrectLetterRoutine = StartCoroutine(PlayCorrectLetter(alphabetData.GetLetterByID(l.id).ac, completedLettersCount, correct));
    }
    IEnumerator SetSmallSizeAndDisable()
    {
        SpriteTweeners.SpriteScaleCrossFromValueToValue(this, transform, 1, 0, 0.2f);
        yield return(new WaitForSeconds(0.21f));

        gameObject.SetActive(false);
        yield break;
    }
Beispiel #5
0
    IEnumerator SetSmallSizeAndDisable()
    {
        manager.CreateEffect <BlockAppear>(transform.position, Quaternion.identity, null);
        SpriteTweeners.SpriteScaleCrossFromValueToValue(this, transform, 1, 0, 0.25f);
        yield return(new WaitForSeconds(0.36f));

        gameObject.SetActive(false);
        yield break;
    }
 void OnEnable()
 {
     StopAllCoroutines();
     foreach (SpriteRenderer sprt in allSprites)
     {
         SpriteTweeners.SpriteAlphaCrossFromValueToValue(this, sprt, 0, 1, appearTime / 2f);
     }
     SpriteTweeners.SpriteScaleViaCurve(this, scalableSprite, scaleCurve, defaultSpriteScale, appearTime);
 }
 void OnEnable()
 {
     StopAllCoroutines();
     foreach (Image im in allImages)
     {
         UiTweeners.ImAlphaCrossFromValueToValue(this, im, 0, useStartAlpha? im.color.a : 1, appearTime / 2f);
     }
     SpriteTweeners.SpriteScaleViaCurve(this, scalableSprite, scaleCurve, defaultSpriteScale, appearTime);
 }
Beispiel #8
0
    IEnumerator DisableLoadingIndicatorProcess(float delay)
    {
        yield return(new WaitForSeconds(delay));

        for (int i = 0; i < circles.Length; i++)
        {
            SpriteTweeners.SpriteScaleCrossFromValueToValue(this, circles[i].transform, 1, 0, 0.12f, 0.05f * i);
        }
        isActive = false;
        yield break;
    }
 public void EnableSelf()
 {
     StopAllCoroutines();
     gameObject.SetActive(true);
     StopAllCoroutines();
     foreach (Image im in allImages)
     {
         UiTweeners.ImAlphaCrossFromValueToValue(this, im, 0, 1, appearTime / 2f);
     }
     SpriteTweeners.SpriteScaleViaCurve(this, scalableSprite, scaleCurve, defaultSpriteScale, appearTime);
 }
 public void EnableSelf()
 {
     StopAllCoroutines();
     gameObject.SetActive(true);
     StopAllCoroutines();
     foreach (SpriteRenderer sprt in allSprites)
     {
         SpriteTweeners.SpriteAlphaCrossFromValueToValue(this, sprt, 0, 1, appearTime / 2f);
     }
     SpriteTweeners.SpriteScaleViaCurve(this, scalableSprite, scaleCurve, defaultSpriteScale, appearTime);
 }
Beispiel #11
0
 public void InitLoadingIndicator()
 {
     if (isActive)
     {
         return;
     }
     StopAllCoroutines();
     for (int i = circles.Length - 1; i >= 0; i--)
     {
         SpriteTweeners.SpriteScaleCrossFromValueToValue(this, circles[i].transform, 0, 1, 0.21f, 0.05f * i);
     }
     isActive = true;
 }
Beispiel #12
0
 public IEnumerator CloseWindowProcess(bool destroy = false)
 {
     SpriteTweeners.SpriteScaleViaCurve(this, alphabetText.transform, disappearCurve, 1, 0.2f);
     foreach (GameObject go in currentLetters)
     {
         SpriteTweeners.SpriteScaleCrossFromValueToValue(this, go.transform, go.transform.localScale, Vector3.zero, 0.1f);
         //yield return new WaitForSeconds(0.001f);
     }
     if (destroy)
     {
         Destroy(gameObject, 0.3f);
     }
     yield break;
 }
 public void ShowDataCubes(Color[] colors, float[] sizes)
 {
     foreach (Transform t in dataCubes)
     {
         t.gameObject.SetActive(false);
     }
     for (int i = 0; i < sizes.Length; i++)
     {
         dataCubes[i].gameObject.SetActive(true);
         dataCubes[i].transform.localScale = Vector3.zero;
         dataCubes[i].GetComponentInChildren <MeshRenderer>().material.color = colors[i];
         SpriteTweeners.SpriteScaleCrossFromVectorToVector(this, dataCubes[i], new Vector3(1, 1, 0.01f), new Vector3(1, 1, sizes[i]), 0.35f, i * 0.1f);
     }
 }
 public void SetSelection(bool isSelected)
 {
     Debug.Log("Selecting");
     if (!this.isSelected && isSelected)
     {
         selectionTransform.gameObject.SetActive(true);
         SpriteTweeners.SpriteScaleCrossFromValueToValue(this, selectionTransform, 0, 1, 0.35f);
     }
     if (this.isSelected && !isSelected)
     {
         SpriteTweeners.SpriteScaleCrossFromValueToValue(this, selectionTransform, 1, 0, 0.35f);
     }
     this.isSelected = isSelected;
 }
Beispiel #15
0
 public IEnumerator OpenWindowProcess()
 {
     foreach (GameObject go in currentLetters)
     {
         go.transform.localScale = Vector3.zero;
     }
     SpriteTweeners.SpriteScaleViaCurve(this, alphabetText.transform, appearCurve, 1, 0.25f);
     foreach (GameObject go in currentLetters)
     {
         SpriteTweeners.SpriteScaleCrossFromValueToValue(this, go.transform, go.transform.localScale, letterDefaultLocalScale * Vector3.one, 0.22f);
         yield return(new WaitForSeconds(0.02f));
     }
     yield break;
 }
 public void DisableSelf(bool disableGO = false)
 {
     if (!gameObject.activeInHierarchy)
     {
         return;
     }
     StopAllCoroutines();
     foreach (Image im in allImages)
     {
         UiTweeners.ImAlphaCrossFromValueToValue(this, im, im.color.a, 0, disappearTime);
     }
     SpriteTweeners.SpriteScaleCrossFromValueToValue(this, scalableSprite, scalableSprite.localScale.x, disableScale, disappearTime);
     if (disableGO)
     {
         StartCoroutine(DisableProcess());
     }
 }
 public void DisableSelf(bool disableGO = false)
 {
     if (!gameObject.activeInHierarchy)
     {
         return;
     }
     StopAllCoroutines();
     foreach (SpriteRenderer sprt in allSprites)
     {
         SpriteTweeners.SpriteAlphaCrossFromValueToValue(this, sprt, 1, 0, disappearTime);
     }
     SpriteTweeners.SpriteScaleCrossFromValueToValue(this, scalableSprite, scalableSprite.localScale.x, disableScale, disappearTime);
     if (disableGO)
     {
         StartCoroutine(DisableProcess());
     }
 }
Beispiel #18
0
 public void EnableSelf()
 {
     StopAllCoroutines();
     gameObject.SetActive(true);
     StopAllCoroutines();
     foreach (Image im in allImages)
     {
         UiTweeners.ImAlphaCrossFromValueToValue(this, im, 0, im.color.a, appearTime / 2f);
     }
     if (autoDetectTexts)
     {
         allTexts = transform.GetComponentsInChildren <Text>();
     }
     foreach (Text t in allTexts)
     {
         UiTweeners.TextCrossFromValueToValue(this, t, 0, t.color.a, appearTime);
     }
     SpriteTweeners.SpriteScaleViaCurve(this, scalableSprite, scaleCurve, defaultSpriteScale, appearTime);
 }
Beispiel #19
0
    IEnumerator CloseProcess()
    {
        foreach (Letter l in lettersOnTopObjects)
        {
            SpriteTweeners.SpriteScaleCrossFromValueToValue(this, l.transform, 1, 0, 0.12f);
        }
        if (currentLetters != null)
        {
            foreach (Letter l in currentLetters)
            {
                if (l != null)
                {
                    SpriteTweeners.SpriteScaleCrossFromValueToValue(this, l.transform, l.transform.localScale.x, 0, 0.2f);
                }
            }
        }
        yield return(new WaitForSeconds(1));

        Destroy(gameObject);
    }
Beispiel #20
0
    IEnumerator RestartLevelOnFail()
    {
        lockTouchLetters      = true;
        completedLettersCount = 0;
        for (int i = 0; i < correctLetters.Count; i++)
        {
            currentLetters[correctLetters[i]].interactable = true;
            currentLetters[correctLetters[i]].SetColor(Color.gray, flyTime);
            SpriteTweeners.SpriteMoveToPointViaCurve(this, currentLetters[correctLetters[i]].transform, points[correctLetters[i]], moveCurve2, flyTime);
        }
        yield return(new WaitForSeconds(1.2f));

        MixAllPoints();
        MirrorPoints();
        for (int i = 0; i < currentLetters.Count; i++) //smoothly move letters to positions
        {
            SpriteTweeners.SpriteMoveToPointViaCurve(this, currentLetters[i].transform, points[i], moveCurve3, flyTime, false);
        }
        yield return(new WaitForSeconds(flyTime + 2));

        lockTouchLetters = false;

        yield break;
    }
Beispiel #21
0
 public override void OnScreenClose()
 {
     base.OnScreenClose();
     openLettersMenuButton.enabled = false;
     SpriteTweeners.SpriteScaleCrossFromValueToValue(this, openLettersMenuButton.transform, 1, 0, 0.2f);
 }
Beispiel #22
0
    IEnumerator TutorPartProcess()
    {
        for (int i = 0; i < lettersOnTopObjects.Length; i++)
        {
            TextMesh tm = lettersOnTopObjects[i].GetComponentInChildren <TextMesh>();
            tm.color = Color.red;
            tm.text  = currentLeterData.letter.ToString();
            if (i % 2 == 1)
            {
                tm.text = tm.text.ToLower();
            }
            lettersOnTopObjects[i].gameObject.SetActive(false);
            lettersOnTopObjects[i].SetDrawOrder(layerName, 0);
            lettersOnTopObjects[i].id = correctLetterID;
        }
        yield return(null);

        AudioManager.PlayVoiceOneShot(taskAC, true);
        foreach (Letter l in lettersOnTopObjects)
        {
            l.gameObject.SetActive(true);
            l.SetAnimationState(Letter.LetterAnimState.Appear);
            yield return(new WaitForSeconds(0.2f));
        }
        currentLetters = new List <Letter>();

        //generating points
        Bounds  bounds = new Bounds();
        Vector3 tempPos;

        tempPos = Camera.main.ScreenToWorldPoint(Screen.height * Vector3.up + Screen.width * Vector3.right);
        Vector3 max = new Vector3(tempPos.x - borderOffset, lettersOnTopObjects[0].transform.position.y - borderOffset - 0.7f, 0);

        tempPos = Camera.main.ScreenToWorldPoint(Vector2.zero);
        Vector3 min = new Vector3(tempPos.x + borderOffset, tempPos.y + borderOffset, 0);

        bounds.SetMinMax(min, max);

        points = null;
        GeneratePoints(ref points, curLettersPointsCount, bounds);

        //generation ended

        for (int i = 0; i < points.Count; i++) // spawn all letters on positions
        {
            Letter newLetter = Instantiate(letterPrefab, points[i], Quaternion.identity).GetComponent <Letter>();
            currentLetters.Add(newLetter);
            int letterID = 0;
            do
            {
                letterID = Random.Range(0, alphabetData.lettersList.Count);
            } while (letterID == correctLetterID);

            newLetter.Init(this, letterID, alphabetData.GetLetterByID(letterID).letter,
                           fonts[Random.Range(0, fonts.Count)], Random.Range(0, 2) == 0);
            newLetter.transform.localScale = Vector3.one * defaultLocalScaleForLetter;
            newLetter.SetDrawOrder(layerName, 0);
            newLetter.interactable = true;
            newLetter.gameObject.SetActive(false);
        }

        yield return(new WaitForSeconds(.3f));

        correctLetters = new List <int>();

        for (int i = 0; i < lettersOnTopObjects.Length; i++) // generating Correct Letters and moving them to start positions
        {
            int indexForCorrectLetter;
            do
            {
                indexForCorrectLetter = Random.Range(0, currentLetters.Count);
            } while (correctLetters.Contains(indexForCorrectLetter));
            correctLetters.Add(indexForCorrectLetter);
            Letter l = currentLetters[indexForCorrectLetter];
            l.SetParentLetter(lettersOnTopObjects[i]);
            l.gameObject.SetActive(true);
            l.transform.position = lettersOnTopObjects[i].transform.position;
        }
        yield return(null);

        for (int i = 0; i < correctLetters.Count; i++) //smoothly move letters to positions
        {
            lettersOnTopObjects[i].SetColor(Color.white, 0);
            currentLetters[correctLetters[i]].SetDrawOrder(layerName, 1);
            SpriteTweeners.SpriteMoveToPointViaCurve(this, currentLetters[correctLetters[i]].transform, points[correctLetters[i]], moveCurve1, flyTime, false);
            currentLetters[correctLetters[i]].SetColor(Color.gray, flyTime);
            yield return(new WaitForSeconds(0.2f));
        }
        yield return(new WaitForSeconds(0.8f));

        for (int i = 0; i < currentLetters.Count; i++) // other letters appear
        {
            if (currentLetters[i].id != correctLetterID)
            {
                currentLetters[i].gameObject.SetActive(true);
                currentLetters[i].SetColor(Color.gray, 0);
                currentLetters[i].SetAnimationState(Letter.LetterAnimState.Appear);
            }
        }
        MixAllPoints();
        yield return(new WaitForSeconds(1));

        for (int i = 0; i < currentLetters.Count; i++) // mix letters
        {
            SpriteTweeners.SpriteMoveToPointViaCurve(this, currentLetters[i].transform, points[i], moveCurve2, 0.7f);
        }

        lockTouchLetters = false;
        yield break;
    }