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); }
private void OnEnable() { MailCheck(); ContentsSetting(); curLetterState = LetterState.Recive; }
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; }
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(); }
public void SetState(LetterState state) { if (stone == null || (state == LetterState.Warning && stone.spawnIds.Length > 1)) { return; } State = state; }
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); }
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); }
private Color ColorFromLetterState(LetterState state) { switch (state) { case LetterState.Visible: return(_light); case LetterState.Highlighted: return(_highlight); } return(_dark); }
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(); } }
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; }
public void OnClickReciveMail() { if (curLetterState == LetterState.Recive) { return; } ContentsClear(); InstantiateMail(ResourceManager.Instance.dicLetter); curLetterState = LetterState.Recive; }
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); }
public void OnClickReadMail() { if (curLetterState == LetterState.Read) { return; } ContentsClear(); ResourceManager.Instance.LoadLetterRead(); InstantiateMail(ResourceManager.Instance.dicLetter_Read, true); curLetterState = LetterState.Read; }
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); }
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)); }
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); }
// Trigger return animation public void Return() { myBubble.GetComponent<Rigidbody>().isKinematic = true; myBubble.GetComponent<Collider>().enabled = false; myState = LetterState.Returning; StopCoroutine("UpdateSoaring"); StartCoroutine("UpdateReturning"); }
// 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(); }
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); }
// 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> (); }
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; }
public LetterViewModel(char letter) { State = LetterState.NoGuess; Letter = letter; }
//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; }
// 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 */ }
public void UpdateState(LetterState state) { State = state; }
// Unfreeze letter public void Unfreeze() { myBubble.GetComponent<Rigidbody>().isKinematic = false; myState = LetterState.Soaring; }
public void SetLetter(int index, char letter, LetterState state) { _letters.ReplaceAt(index, new LetterViewModel(letter, state)); }
public WordPuzzleLetterEntry(char letter, LetterState state) { Letter = letter; State = state; }
/* 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); } }
//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; }