private void CreateLetters(string word) { List <char> list = new List <char>(); for (int i = 0; i < word.Length; i++) { list.Add(word[i]); } for (int i = 0; i < word.Length; i++) { int randomIndex = Random.Range(0, word.Length); var temp = list[i]; list[i] = list[randomIndex]; list[randomIndex] = temp; } for (int i = 0; i < word.Length; i++) { WordLetter newLetter = Instantiate(LetterPrefab, LettersContainer); newLetter.Letter = "" + list[i]; newLetter.OnLetterPressed += OnLetterPressed; float posX = 0; int halfLetters = word.Length / 2; //odd posX = (i - halfLetters) * (LetterSpacing); //even if (word.Length % 2 == 0) { posX += LetterSpacing * 0.5f; } newLetter.GetComponent <RectTransform>().anchoredPosition = new Vector2(posX, 0); Letters.Add(newLetter); } StartCoroutine(UnparentLetterCoroutine()); IEnumerator UnparentLetterCoroutine() { yield return(null); var originalParent = Letters[0].GetComponent <RectTransform>().parent; foreach (WordLetter letter in Letters) { var letterTransform = letter.GetComponent <RectTransform>(); letterTransform.SetParent(transform.parent); } } }
public bool CheckLetters() { string currentWord = ""; foreach (Transform child in LettersContainer) { WordLetter wordLetter = child.GetComponent <WordLetter>(); currentWord += wordLetter.Letter; } Debug.Log("current word:" + currentWord); return(currentWord == Word); }
void Update() { if (Input.GetKeyDown(KeyCode.T)) { bool result = CheckLetters(); Debug.Log("result:" + result); } if (Input.GetMouseButton(0)) { ReorderLetters(); } if (Input.GetMouseButtonUp(0)) { TransparentLetter.HideLetter(); SelectedLetter = null; } }
private void OnLetterPressed(WordLetter wordLetter) { SelectedLetter = wordLetter; TransparentLetter.Letter = wordLetter.Letter; TransparentLetter.ShowLetter(); }