示例#1
0
        protected GameUIComponent DisposeChild(GameObject child)
        {
            GameUIComponent ui = child.ToGameUIComponent();

            childListDirty = true;
            if (_usePool)
            {
                if (childPool.Free(ui))
                {
                    if (ui != null)
                    {
                        ui.Visible = false;
                    }
                    else
                    {
                        child.SetActive(false);
                    }
                    Vector3 sc = child.transform.localScale;
                    Vector3 ps = child.transform.localPosition;
                    child.transform.SetParent(poolTransform);
                    child.transform.localScale    = sc;
                    child.transform.localPosition = ps;
                    return(ui);
                }
            }
            if (ui != null)
            {
                if (ui.Visible)
                {
                    ui.OnHide();
                }
                ui.Dispose(false);
            }
            child.transform.SetParent(null);
            GameObject.Destroy(child);
            return(ui);
        }