public void AddMastery(Mastery mastery, GameObject go) { goTemp = go; if (enabledMasteries[0] == null) { enabledMasteries[0] = mastery; mastery.GetSkill(this); Destroy(goTemp.transform.parent.gameObject); } else if (enabledMasteries[1] == null) { enabledMasteries[1] = mastery; mastery.GetSkill(this); Destroy(goTemp.transform.parent.gameObject); } else if (enabledMasteries[2] == null) { enabledMasteries[2] = mastery; mastery.GetSkill(this); Destroy(goTemp.transform.parent.gameObject); } else { go.GetComponent <AddMastery>().clicked = true; StartCoroutine(WaitIE(mastery)); } }
IEnumerator WaitForInput(Mastery mastery) { bool done = false; while (!done) { if (Input.GetKey(KeyCode.Alpha1)) { enabledMasteries[0].LoseSkill(this); enabledMasteries[0] = mastery; done = true; // breaks the loop } if (Input.GetKey(KeyCode.Alpha2)) { enabledMasteries[1].LoseSkill(this); enabledMasteries[1] = mastery; done = true; } if (Input.GetKey(KeyCode.Alpha3)) { enabledMasteries[2].LoseSkill(this); enabledMasteries[2] = mastery; done = true; } yield return(null); } Time.timeScale = 1; mtext.gameObject.SetActive(false); mtext1.gameObject.SetActive(false); mtext2.gameObject.SetActive(false); mtext3.gameObject.SetActive(false); mastery.GetSkill(this); Destroy(goTemp.transform.parent.gameObject); goTemp = null; }