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); } }
private void AntLeafOnClick(AntLeaf leaf) { if (activeTree.ClickOnLeaf(leaf.character)) { leaf.Hide(); AudioManager.instance.PlaySelect(); } else { AudioManager.instance.PlayWrong(); } if (activeTree.IsWin()) { FinishGame(); } }