Ejemplo n.º 1
0
    private IEnumerator TransitionLetter(int ix, LetterState prevState, LetterState newState, float?delay, int steps)
    {
        if (delay != null)
        {
            yield return(new WaitForSeconds(delay.Value));
        }

restart:

        for (int i = 0; i <= steps; i++)
        {
            _textMeshes[ix].color = Color.Lerp(ColorFromLetterState(prevState), ColorFromLetterState(newState), Math.Max(0, Math.Min(1, i / (float)steps + Rnd.Range(-.25f, .25f))));
            yield return(null);
        }
        _textMeshes[ix].color = ColorFromLetterState(newState);

        if (_states[ix] != newState)
        {
            prevState = newState;
            newState  = _states[ix];
            goto restart;
        }

        _coroutinesActive.Remove(ix);
    }
Ejemplo n.º 2
0
    private void OnEnable()
    {
        MailCheck();
        ContentsSetting();

        curLetterState = LetterState.Recive;
    }
Ejemplo n.º 3
0
    public void UnSelect()
    {
        LetterState s = State;

        if (State == LetterState.Selected)
        {
            State = LetterState.Idle;
            GetComponent <Animation>().Stop();
            MainImage.color    = GameplayController.Instance.CurrentLevel.StoneLetterMainColorDefault;
            OutlineImage.color = GameplayController.Instance.CurrentLevel.StoneLetterMainOutlineColorDefault;
            text.color         = FontColorDefault;                               //GameplayController.Instance.CurrentLevel.StoneLetterFontColorDefault;
            text.GetComponent <Outline>().effectColor = FontOutlineColorDefault; //GameplayController.Instance.CurrentLevel.StoneLetterFontOutlineColorDefault;

            GameplayController.Instance.OnPlayerInteraction(this);

            AudioController.Instance.PlaySound(SoundUnselected, .7f);

            //added by Tzahi
            //roolBackLetter ();
        }

        //added by Tzahi
        if (mShownup == true)
        {
            State = s;
            roolBackLetter();
        }
        State = LetterState.Idle;
    }
Ejemplo n.º 4
0
        void ColorDefiner(LingoGame lingo, string userWord)
        {
            lingo.InitLingo(lingo.lingoWord);
            LetterState[] allletters = new LetterState[userWord.Length];
            List <char>   list       = new List <char>();

            for (int i = 0; i < userWord.Length; i++)
            {
                if (lingo.lingoWord[i] != userWord[i])
                {
                    list.Add(lingo.lingoWord[i]);
                }
            }
            for (int i = 0; i < userWord.Length; i++)
            {
                if (lingo.lingoWord[i] == userWord[i])
                {
                    allletters[i] = LetterState.Correct;
                }
                else if (list.Contains(userWord[i]))
                {
                    allletters[i] = LetterState.WrongPosition;
                    list.Remove(userWord[i]);
                }
                else
                {
                    allletters[i] = LetterState.Incorrect;
                }
            }
            ColorPrinter(allletters, userWord);
            Console.WriteLine();
        }
Ejemplo n.º 5
0
 public void SetState(LetterState state)
 {
     if (stone == null || (state == LetterState.Warning && stone.spawnIds.Length > 1))
     {
         return;
     }
     State = state;
 }
Ejemplo n.º 6
0
 public void HandleHit()
 {
     Shrink();
     LetterState = LetterState.HIT;
     Destroy(Target.gameObject);
     SpriteRenderer.material.color = new Color(0.0f, 1.0f, 0.0f);
     AudioSource.PlayClipAtPoint(AudioSuccess, transform.position, 1.0f);
 }
Ejemplo n.º 7
0
 public void HandleMiss()
 {
     Shrink();
     LetterState = LetterState.MISSED;
     Destroy(Target.gameObject);
     SpriteRenderer.material.color = new Color(1.0f, 0.0f, 0.0f);
     AudioSource.PlayClipAtPoint(AudioFailed, transform.position, 1.0f);
 }
Ejemplo n.º 8
0
    private Color ColorFromLetterState(LetterState state)
    {
        switch (state)
        {
        case LetterState.Visible: return(_light);

        case LetterState.Highlighted: return(_highlight);
        }
        return(_dark);
    }
Ejemplo n.º 9
0
 private void SetView(LetterState state)
 {
     if (state.GetState() == LetterStateType.Selected)
     {
         view.ShowSelected();
     }
     if (state.GetState() == LetterStateType.Unselected)
     {
         view.ShowUnselected();
     }
 }
 private void ChangeStateInPosition(LetterState currentState)
 {
     if (currentState.GetState() == LetterStateType.Selected)
     {
         currentState.SetUnselected();
     }
     else if (currentState.GetState() == LetterStateType.Unselected)
     {
         currentState.SetSelected();
     }
 }
Ejemplo n.º 11
0
 private void TransitionLetter(int ix, LetterState newState, int steps, float?delay = null)
 {
     if (_states[ix] == newState)
     {
         return;
     }
     if (_coroutinesActive.Add(ix))
     {
         StartCoroutine(TransitionLetter(ix, _states[ix], newState, delay, steps));
     }
     _states[ix] = newState;
 }
Ejemplo n.º 12
0
    public void OnClickReciveMail()
    {
        if (curLetterState == LetterState.Recive)
        {
            return;
        }

        ContentsClear();
        InstantiateMail(ResourceManager.Instance.dicLetter);

        curLetterState = LetterState.Recive;
    }
Ejemplo n.º 13
0
 public void incLetter()       // current letter in letter2, next letter in letter1
 {
     if (letterToDisplay < (letter.Length - 1))
     {
         letter2.texture = litLetter [letterToDisplay];
         letter1.texture = letter [letterToDisplay + 1];
         setTopToDown();
         ++letterToDisplay;
         y1    = 0.0f;
         y2    = fullHeight * 1.0f;
         state = LetterState.fadingInScrollingUp;
     }
 }
    private void CreateGridWithUnselectedPositions(GridWithLetters grid)
    {
        LetterState[,] statesArray = new LetterState[grid.Wight, grid.Height];

        for (int y = 0; y < grid.Height; y++)
        {
            for (int x = 0; x < grid.Wight; x++)
            {
                statesArray[x, y] = new LetterState(LetterStateType.Unselected);
            }
        }

        this.grid = new Grid <LetterState>(statesArray);
    }
    private bool GetStateIfHaveWordGameInPosition(Position position, out LetterState state)
    {
        state = default;

        foreach (var serie in SerieDePosiciones)
        {
            if (serie.HavePosition(position))
            {
                state = serie.PickInPosition(position);
                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 16
0
    public void OnClickReadMail()
    {
        if (curLetterState == LetterState.Read)
        {
            return;
        }

        ContentsClear();

        ResourceManager.Instance.LoadLetterRead();

        InstantiateMail(ResourceManager.Instance.dicLetter_Read, true);

        curLetterState = LetterState.Read;
    }
Ejemplo n.º 17
0
 public void decLetter()       // current letter in letter1, next letter in letter2
 {
     if (state == LetterState.idle)
     {
         if (letterToDisplay > 0)
         {
             decLetterHelper();
             state = LetterState.fadingInScrollingDown;
         }
     }
     else
     {
         ++lettersToDec;
     }
 }
    public LetterState SelectPosition(Position position)
    {
        LetterState state = GetCurrentState(position);

        if (GetStateIfHaveWordGameInPosition(position, out LetterState newState))
        {
            state = newState;
        }
        else
        {
            ChangeStateInPosition(state);
        }

        SaveStatePosition(position, state);
        return(state);
    }
Ejemplo n.º 19
0
        public void Solve_LetterInIncorrectLocationIsOnlySetToIncorrectLocationNTimesItExistsInTheWord()
        {
            WordPuzzle wordPuzzle = new WordPuzzle("yxxyy");
            var        result     = wordPuzzle.Solve("zzxxx");

            char[]        expectedLetters = "zzxxx".ToCharArray();
            LetterState[] expectedStates  = new LetterState[]
            {
                LetterState.DoesNotExistInWord,
                LetterState.DoesNotExistInWord,
                LetterState.CorrectLocation,
                LetterState.IncorrectLocation,
                LetterState.DoesNotExistInWord,
            };

            CollectionAssert.AreEqual(expectedLetters, result.LetterEntries.Select(x => x.Letter));
            CollectionAssert.AreEqual(expectedStates, result.LetterEntries.Select(x => x.State));
        }
Ejemplo n.º 20
0
        public void Solve_InCorrectWord()
        {
            WordPuzzle wordPuzzle = new WordPuzzle("bomen");
            var        result     = wordPuzzle.Solve("clown");

            char[]        expectedLetters = "clown".ToCharArray();
            LetterState[] expectedStates  = new LetterState[]
            {
                LetterState.DoesNotExistInWord,
                LetterState.DoesNotExistInWord,
                LetterState.IncorrectLocation,
                LetterState.DoesNotExistInWord,
                LetterState.CorrectLocation,
            };

            CollectionAssert.AreEqual(expectedLetters, result.LetterEntries.Select(x => x.Letter));
            CollectionAssert.AreEqual(expectedStates, result.LetterEntries.Select(x => x.State));
        }
 private LetterState[] EvaluateWord(string playerWord, string lingoWord)
 {
     LetterState[] outcome = new LetterState[lingoWord.Length];
     char[]        pWord   = playerWord.ToCharArray();
     char[]        lWord   = lingoWord.ToCharArray();
     for (int x = 0; x < lingoWord.Length; x++)
     {
         if (pWord[x] == lWord[x])
         {
             outcome[x] = LetterState.Correct;
         }
         else if
         (lWord.Contains(pWord[x]))
         {
             outcome[x] = LetterState.WrongPosition;
         }
         else
         {
             outcome[x] = LetterState.Wrong;
         }
     }
     return(outcome);
 }
Ejemplo n.º 22
0
 // Trigger return animation
 public void Return()
 {
     myBubble.GetComponent<Rigidbody>().isKinematic = true;
     myBubble.GetComponent<Collider>().enabled = false;
     myState = LetterState.Returning;
     StopCoroutine("UpdateSoaring");
     StartCoroutine("UpdateReturning");
 }
Ejemplo n.º 23
0
 // Freeze letter - pretend from moving for a bit
 IEnumerator Freeze(float seconds)
 {
     myState = LetterState.Frozen;
     myBubble.GetComponent<Rigidbody>().isKinematic = true;
     yield return new WaitForSeconds(seconds);
     Unfreeze();
 }
Ejemplo n.º 24
0
 public LetterViewModel(char letter, LetterState letterState)
 {
     Letter      = char.ToUpper(letter);
     LetterState = letterState;
 }
 private void SaveStatePosition(Position position, LetterState state)
 {
     grid.SetValueInPosition(position.x, position.y, state);
 }
Ejemplo n.º 26
0
    // Use this for initialization
    void Awake()
    {
        // Set initial values
        _text = GetComponentInChildren<Text>().text;
        _color = GetComponent<Image>().color;
        _visible = true;
        _blocked = false;
        _letterState = LetterState.NEUTRAL;

        // Get required components
        _handler = GetComponent<KeyHandler> ();
    }
Ejemplo n.º 27
0
    private void PaintLetterByState(LetterState state)
    {
        Color nextColor = _neutral;

        switch (state) {
        case LetterState.NEUTRAL:
            nextColor = _neutral;
            break;
        case LetterState.ELIMINATED:
            nextColor = eliminated;
            break;
        case LetterState.SELECTED:
            nextColor = selected;
            break;
        }

        _model.Color = nextColor;
    }
Ejemplo n.º 28
0
 public LetterViewModel(char letter)
 {
     State  = LetterState.NoGuess;
     Letter = letter;
 }
Ejemplo n.º 29
0
    //Letter final animation
    IEnumerator UpdateReturning()
    {
        float start = Time.time;
        float rimPower = myBubble.material.GetFloat("_RimPower");
        while (Time.time < start + animationLength)
        {
            myBubble.material.SetFloat("_RimPower", Mathf.Lerp(rimPower,0.5f, (Time.time - start) / animationLength));
            yield return null;
        }
        start = Time.time;
        Vector3 endPosition = transform.position;
        while (Time.time < start + animationLength)
        {
            transform.position = Vector3.Lerp(endPosition, spawnPosition, (Time.time - start) / animationLength);
            yield return null;
        }

        for(int i=0; i < returnTrail.Count; i++)
        {
            start = Time.time;
            Vector3 currentPosition = transform.position;
            while (Time.time < start + animationLength)
            {
                transform.position = Vector3.Lerp(currentPosition, returnTrail[i], (Time.time - start) / animationLength);
                yield return null;
            }
        }
        myState = LetterState.TheEnd;
        yield break;
    }
Ejemplo n.º 30
0
    // Update is called once per frame
    void Update()
    {
        float ySize;


        /* slot 1 */
        if (state2 == 0)           // idle

        {
        }
        if (state2 == 1)           // delay
        {
            slot1elapsedTime += Time.deltaTime;
            if (slot1elapsedTime > looseScreenDelay)
            {
                ++state2;
            }
        }
        if (state2 == 2)
        {
            level.loadScene("LevelOver");
        }
        /* end of slot 1 */



        /* slot 0 */
        if ((globalStep == 0) && (state2 == 0))
        {
            state2 = 1;
            level.musicFadeOut();
            fader.fadeOut();
        }
        if (state == LetterState.idle)           // We set target1col&target2op Here
        {
            if (globalStep < globalTargetStep)   // need to go UP!

            {
                if (step == (substeps - 1))
                {
                    setColorOpacityTargets(0);
                    opacity = 1.0f;
                    state   = LetterState.fadingOutScrollingUp;
                }
                else
                {
                    setColorOpacityTargets(step + 1);
                    state = LetterState.steppingUp;
                }
            }
            else if (globalStep > globalTargetStep)                 // need to go DOWN!

            {
                if (step == 0)
                {
                    setColorOpacityTargets(substeps - 1);
                    opacity = 1.0f;
                    state   = LetterState.fadingOutScrollingDown;
                }
                else
                {
                    setColorOpacityTargets(step - 1);
                    state = LetterState.steppingDown;
                }
            }
            else
            {
                if (idleElapsedTime < idleMaxTime)
                {
                    idleElapsedTime += Time.deltaTime;
                    if (idleElapsedTime > idleMaxTime)
                    {
                        targetGlobalOpacity = 0.0f;
                    }
                }
            }
        }


        if (state == LetterState.fadingInScrollingDown)           // when a letter disappears and the next
        // appears

        {
            opacity += opacitySpeed * Time.deltaTime;
            if (opacity > 1.0f)
            {
                --globalStep;
                step    = getStep(globalStep);
                state   = LetterState.idle;
                opacity = 1.0f;
            }

            //letter1.color = new Color (1.0f, 1.0f, 1.0f, opacity);
            //letter2.color = new Color (1.0f, 1.0f, 1.0f, opacity);
            letter1color   = opacity;
            letter2opacity = opacity;
        }

        if (state == LetterState.fadingOutScrollingDown)
        {
            opacity -= opacitySpeed * Time.deltaTime;
            if (opacity < 0.0f)
            {
                state = LetterState.fadingInScrollingDown;
                --letterNum;
                opacity         = 0.0f;
                letter1.color   = new Color(1.0f, 1.0f, 1.0f, opacity);
                letter2.color   = new Color(1.0f, 1.0f, 1.0f, opacity);
                letter1.texture = letter [letterNum];                 // change letter
                letter2.texture = litLetter [letterNum];
            }
            float percent = (1.0f / (substeps / 2));
            //letter1.color = new Color (percent, percent, percent, opacity);
            ////letter2.color = new Color (1.0f, 1.0f, 1.0f, opacity);
            letter1color   = opacity * percent;
            letter2opacity = 0.0f;
        }

        if (state == LetterState.fadingInScrollingUp)           // when a letter disappears and the next
        // appears

        {
            opacity += opacitySpeed * Time.deltaTime;
            if (opacity > 1.0f)
            {
                ++globalStep;
                step  = getStep(globalStep);
                state = LetterState.idle;
            }
            float percent = (1.0f / ((float)substeps / 2.0f));
            letter1color   = percent;
            letter2opacity = 0.0f;
            //letter1.color = new Color (percent, percent, percent, opacity);
            //letter2.color = new Color (0, 0, 0, 0);
        }

        if (state == LetterState.fadingOutScrollingUp)
        {
            opacity -= opacitySpeed * Time.deltaTime;
            if (opacity < 0.0f)
            {
                state = LetterState.fadingInScrollingUp;
                ++letterNum;
                opacity = 0.0f;
                //letter1.color = new Color (1.0f, 1.0f, 1.0f, opacity);
                //letter2.color = new Color (1.0f, 1.0f, 1.0f, opacity);
                letter1.texture = letter [letterNum];                 // change letter
                letter2.texture = litLetter [letterNum];
            }
            //letter1.color = new Color (1.0f, 1.0f, 1.0f, opacity);
            //letter2.color = new Color (1.0f, 1.0f, 1.0f, opacity);
            letter1color   = opacity;
            letter2opacity = opacity;
        }

        if (state == LetterState.steppingUp)
        {
            if (letter1color < targetColor)
            {
                letter1color += changeSpeed * Time.deltaTime;
                if (letter1color > targetColor)
                {
                    letter1color = targetColor;
                    ++globalStep;
                    step  = getStep(globalStep);
                    state = LetterState.idle;
                }
            }
            if (letter2opacity < targetOpacity)
            {
                letter2opacity += changeSpeed * Time.deltaTime;
                if (letter2opacity > targetOpacity)
                {
                    letter2opacity = targetOpacity;
                    ++globalStep;
                    step  = getStep(globalStep);
                    state = LetterState.idle;
                }
            }
        }

        if (state == LetterState.steppingDown)
        {
            if (letter1color > targetColor)
            {
                letter1color -= changeSpeed * Time.deltaTime;
                if (letter1color < targetColor)
                {
                    letter1color = targetColor;
                    --globalStep;
                    step  = getStep(globalStep);
                    state = LetterState.idle;
                }
            }
            if (letter2opacity > targetOpacity)
            {
                letter2opacity -= changeSpeed * Time.deltaTime;
                if (letter2opacity < targetOpacity)
                {
                    letter2opacity = targetOpacity;
                    --globalStep;
                    step  = getStep(globalStep);
                    state = LetterState.idle;
                }
            }
        }

        letter1.color = new Color(letter1color, letter1color, letter1color, letter1color * globalOpacity);
        letter2.color = new Color(1, 1, 1, letter2opacity * globalOpacity);
        frame.color   = new Color(1, 1, 1, globalOpacity);

        if (globalOpacity < targetGlobalOpacity)
        {
            globalOpacity += opacitySpeed * 2.0f * Time.deltaTime;
            if (globalOpacity > targetGlobalOpacity)
            {
                globalOpacity = targetGlobalOpacity;
            }
        }
        if (globalOpacity > targetGlobalOpacity)
        {
            globalOpacity -= opacitySpeed * 2.0f * Time.deltaTime;
            if (globalOpacity < targetGlobalOpacity)
            {
                globalOpacity = targetGlobalOpacity;
            }
        }
        /* end of slot 0 */
    }
Ejemplo n.º 31
0
 public void UpdateState(LetterState state)
 {
     State = state;
 }
Ejemplo n.º 32
0
 // Unfreeze letter
 public void Unfreeze()
 {
     myBubble.GetComponent<Rigidbody>().isKinematic = false;
     myState = LetterState.Soaring;
 }
Ejemplo n.º 33
0
 public void SetLetter(int index, char letter, LetterState state)
 {
     _letters.ReplaceAt(index, new LetterViewModel(letter, state));
 }
Ejemplo n.º 34
0
 public WordPuzzleLetterEntry(char letter, LetterState state)
 {
     Letter = letter;
     State  = state;
 }
Ejemplo n.º 35
0
    /* methods */


    // Use this for initialization
    void Start()
    {
        if (level == null)
        {
            level = GameObject.Find("LevelController").GetComponent <LevelControllerScript> ();
        }

        bool alphabetInitialized = level.retrieveBoolValue("AlphabetInitialized");

        if (!alphabetInitialized)
        {
            letterNum = nLetters / 2;
            step      = (substeps / 2) - 1;
            int gs = letterNum * substeps + step;
            level.storeIntValue("AlphabetGlobalStep", gs);
            level.storeBoolValue("AlphabetInitialized", true);
        }
        else
        {
            globalStep = level.retrieveIntValue("AlphabetGlobalStep");
            letterNum  = globalStep / substeps;
            step       = globalStep % substeps;
        }

        targetGlobalOpacity = globalOpacity = 0.0f;
        idleElapsedTime     = 0.0f;

        state  = LetterState.idle;
        state2 = 0;

        slot1elapsedTime = 0.0f;

        if (letterToDisplay >= letter.Length)
        {
            letterToDisplay = 0;
        }

        letter1.color   = new Color(1, 1, 1, 1);
        letter2.color   = new Color(1, 1, 1, 0);
        letter1color    = 1.0f;
        letter2opacity  = 0.0f;
        letter1.texture = letter [letterToDisplay];


        step = (substeps / 2) - 1;

        lettersToDec     = 0;
        targetLetterNum  = letterNum;
        globalStep       = letterNum * substeps + (substeps / 2) - 1;
        globalTargetStep = globalStep;
        maxGlobalStep    = nLetters * substeps - 1;
        letter1.texture  = letter [letterNum];
        letter2.texture  = litLetter [letterNum];

        // consume reward
        int reward = level.retrieveIntValue("AlphabetReward");

        if (reward > 0)
        {
            addStep(reward);
        }
        else
        {
            subStep(-reward);
        }
        level.storeIntValue("AlphabetReward", 0);
        if (reward != 0)
        {
            level.storeIntValue("AlphabetGlobalStep", globalTargetStep);
        }
    }
Ejemplo n.º 36
0
 //Letter appearance animation
 IEnumerator UpdateAppearing()
 {
     float start = Time.time;
     while (Time.time < start + animationLength)
     {
          transform.localScale = Vector3.Lerp(Vector3.zero, Vector3.one, (Time.time - start) / animationLength);
          yield return null;
     }
     myState = LetterState.Soaring;
     StartCoroutine("UpdateSoaring");
     yield break;
 }