public PentaLetter GetLetter() { PentaLetter item = _letters[0]; _letters.RemoveAt(0); return(item); }
public IEnumerator SelectWord(string word) { bool letterFound = false; PentaLetter previousLetter = null; word = word.ToLower(); foreach (char letter in word) { letterFound = false; foreach (PentaLetter pentaLetter in _pentaLetters) { if (pentaLetter.GetLetter() == letter) { letterFound = true; bool nextLetterIsSelectable = pentaLetter.TryToSelect(previousLetter); yield return(new WaitForSecondsRealtime(0.3f)); if (!nextLetterIsSelectable) { yield break; } previousLetter = pentaLetter; break; } } if (!letterFound) { yield break; } } }
private void Store(PentaLetter letter) { _letters.Add(letter); letter.transform.SetParent(_lettersHolder); letter.transform.localPosition = Vector2.zero; //letter.GetComponent<RectTransform>().offsetMin = Vector2.zero; //letter.GetComponent<RectTransform>().offsetMax = Vector2.zero; }
private void SelectLetter(PentaLetter letter) { Debug.Log("Scroll: Selected letter " + letter.GetLetter()); _selectedLetters.Add(letter); _currentWord += letter.GetLetter(); _SelectedWordChangedCallback(_currentWord); }
public void Clear(PentaLetter lastLetter) { _nowSelecting = false; _lineRenderer.positionCount = 0; _lettersCount = 1; _lettersPos.Clear(); _lettersPos.Add(Vector3.zero); }
private void AddLetter(PentaLetter letter) { Vector3 letterPos = letter.transform.position; letterPos.z = _z; _lettersPos[_lettersCount++ - 1] = letterPos; _lettersPos.Add(letterPos); DrawCurve(); }
public void TryActivate(PentaLetter lastSelectedLetter) { Debug.Log("TryActivate"); bool wordIsSelectable = _pentagram.TryToUseWord(_currentWord); if (wordIsSelectable) { OnSpellActivated(); } UnselectLetters(); _SelectedWordChangedCallback(""); }
public bool TryToSelect(PentaLetter previousLetter) { if (previousLetter != null) { if (!previousLetter.AddToNeighbours(this)) { return(false); } AddToNeighbours(previousLetter); } _animator.SetInteger(AnimatorChosen, ++_timesChosen); OnLetterSelected(); return(true); }
public bool AddToNeighbours(PentaLetter letter) { if (letter == this) { return(false); } for (int i = 0; i < _nNeighbourLetters; i++) { if (_neighbourLetters[i] == letter) { return(false); } } _neighbourLetters[_nNeighbourLetters++] = letter; return(true); }