Exemplo n.º 1
0
    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>();
        }
    }