示例#1
0
    // Use this for initialization
    void Awake()
    {
        // Create the UIs for each child and hide them at the start
        for (int i = 0; i < ChildManager.MaxChildCount; ++i)
        {
            GameObject ui = Instantiate(ChildUI, transform, false);
            ui.transform.localPosition = new Vector3(Spacing * i, 0, 0);

            ChildUIScript uiScript = ui.GetComponentInChildren <ChildUIScript>();
            uiScript.Child = ChildManager.GetChild(i);
            uiScript.gameObject.SetActive(false);

            childUIs.Add(uiScript);
        }

        // Do this in Awake so we can hook into events immediately
        ChildManager.ChildAdded     += ChildManager_ChildAdded;
        ChildManager.ChildKilled    += ChildManager_ChildKilled;
        ChildManager.ChildGraduated += UpdateChildUI;
    }
示例#2
0
    private void UpdateChildUI(Child child)
    {
        ChildUIScript childUI = childUIs.Find(x => x.GetComponent <ChildUIScript>().Child == child);

        childUI.UpdateUIForState();
    }