public GameObjectInspector(GameObject target) : base(target)
        {
            ActiveInstance = this;

            TargetGO = target;

            if (!TargetGO)
            {
                ExplorerCore.LogWarning("Target GameObject is null!");
                return;
            }

            // one UI is used for all gameobject inspectors. no point recreating it.
            if (!m_UIConstructed)
            {
                m_UIConstructed = true;

                s_childList = new ChildList();
                s_compList  = new ComponentList();
                s_controls  = new GameObjectControls();

                ConstructUI();
            }
        }
 public override void SetInactive()
 {
     base.SetInactive();
     ActiveInstance = null;
 }
 public override void SetActive()
 {
     base.SetActive();
     ActiveInstance = this;
 }