public void addLetter(Letter letter) { if (letter.used) { if (letterlist.Count > 1 && letterlist[letterlist.Count - 2] == letter) { removeLetter(); } return; } SoundManager.instance.SelectLetter(); if (letterlist.Count == 0) { instance.clearPreview(); } letter.selected(s: true); letter.used = true; letterlist.Add(letter); word += letter.l; GameObject gameObject = UnityEngine.Object.Instantiate(pieceTemp); Text component = gameObject.GetComponent <Text>(); component.text = letter.l; Vector2 sizeDelta = gameObject.GetComponent <RectTransform>().sizeDelta; sizeDelta.x = (float)FugoUtils.CalculateLengthOfMessage(component.text, component) * 4f; gameObject.GetComponent <RectTransform>().sizeDelta = sizeDelta; gameObject.transform.SetParent(wordList); gameObject.transform.localPosition = Vector3.zero; gameObject.transform.localScale = Vector3.one; calculateWordBackground(); if (line != null) { line.active = false; line.calculateTouch(letter.transform.position); UnityEngine.Object.Destroy(line); } if (letterlist.Count != level.letters.Length) { GameObject gameObject2 = UnityEngine.Object.Instantiate(lineTemp); gameObject2.transform.parent = lineContainer; gameObject2.transform.position = letter.transform.position; gameObject2.transform.localScale = Vector3.one; gameObject2.GetComponent <Image>().color = selectedLetterBGColor; line = gameObject2.GetComponent <Line>(); } }