public void SetActive(RectTransform obj, WindowComponent component, bool state)
 {
     if (state == true)
     {
         if (this.switchBehaviour == SwitchBehaviour.HideContent)
         {
             component.Show(AppearanceParameters.Default().ReplaceImmediately(immediately: true));
         }
         else if (this.switchBehaviour == SwitchBehaviour.ScaleContent)
         {
             obj.localScale = Vector3.one;
         }
     }
     else
     {
         if (this.switchBehaviour == SwitchBehaviour.HideContent)
         {
             component.Hide(AppearanceParameters.Default().ReplaceImmediately(immediately: true));
         }
         else if (this.switchBehaviour == SwitchBehaviour.ScaleContent)
         {
             obj.localScale = Vector3.zero;
         }
     }
 }
        public void SetActive(RectTransform obj, WindowComponent component, bool state, bool rebuildState)
        {
            if (rebuildState == true)
            {
                return;
            }

            if (state == true)
            {
                if (this.switchBehaviour == SwitchBehaviour.HideContent)
                {
                    component.Show(AppearanceParameters.Default().ReplaceImmediately(immediately: true));
                }
                else if (this.switchBehaviour == SwitchBehaviour.ScaleContent)
                {
                    if (obj.localScale != Vector3.one)
                    {
                        obj.localScale = Vector3.one;
                        (component as IWindowEventsController).DoWindowActive();
                        var canvas = obj.GetComponent <Canvas>();
                        if (canvas != null)
                        {
                            canvas.enabled = true;
                        }
                    }
                }
            }
            else
            {
                if (this.switchBehaviour == SwitchBehaviour.HideContent)
                {
                    component.Hide(AppearanceParameters.Default().ReplaceImmediately(immediately: true));
                }
                else if (this.switchBehaviour == SwitchBehaviour.ScaleContent)
                {
                    if (obj.localScale != Vector3.zero)
                    {
                        var canvas = obj.GetComponent <Canvas>();
                        if (canvas != null)
                        {
                            canvas.enabled = false;
                        }
                        (component as IWindowEventsController).DoWindowInactive();
                        obj.localScale = Vector3.zero;
                    }
                }
            }
        }