public void SetSkillTreeFiller(SkillTreeFiller stf) { UnloadSkillTreeFiller(); foreach (var n in stf.Taken) { nodeDic[n].transform.GetChild(1).gameObject.GetComponent <Text>().text = "1"; } SetAvailable(stf); }
private void SetAvailable(SkillTreeFiller stf) { foreach (var n in stf.Available) { var sn = nodeDic[n]; sn.GetComponentInChildren <Text>().text = "0"; var f = new UnityEngine.Events.UnityAction[1]; //Shenanigans for lambda self reference f[0] = () => { stf.Take(n); sn.transform.GetChild(1).gameObject.GetComponent <Text>().text = "1"; sn.GetComponent <Button>().onClick.RemoveListener(f[0]); SetAvailable(stf); }; sn.GetComponent <Button>().onClick.AddListener(f[0]); } }