コード例 #1
0
    private void AddAntLeafs()
    {
        List <Transform> leafPositions = leafPoints.ToList();

        string word = activeTree.Word;

        for (int i = 0; i < word.Length; i++)
        {
            char ch = word[i];

            GameObject go         = Instantiate(leafPrefab.gameObject);
            AntLeaf    al         = go.GetComponent <AntLeaf>();
            int        pointIndex = Random.Range(0, leafPositions.Count);
            al.transform.position = leafPositions[pointIndex].position;
            al.character          = ch;
            float rotate = Random.Range(0, 360);
            go.transform.Rotate(0, 0, rotate);
            al.OnClick.AddListener(() => AntLeafOnClick(al));

            GameObject character = SynthesisAlphabet.instance.GetCharacter(ch);
            character.transform.SetParent(go.transform, false);
            character.transform.Translate(new Vector3(0, -0.15f, 0));
            character.transform.Rotate(0, 0, -rotate);

            antLeafs.Add(al);
            leafPositions.RemoveAt(pointIndex);
        }
    }
コード例 #2
0
    private void AntLeafOnClick(AntLeaf leaf)
    {
        if (activeTree.ClickOnLeaf(leaf.character))
        {
            leaf.Hide();
            AudioManager.instance.PlaySelect();
        }
        else
        {
            AudioManager.instance.PlayWrong();
        }

        if (activeTree.IsWin())
        {
            FinishGame();
        }
    }