protected override void OnDisable()
        {
            base.OnDisable();

            if (setFocusOnEnable)
            {
                if (useStairFocus)
                {
                    FocusManager.DownLayer();
                }
                else
                {
                    FocusManager.ChangeLayer(_oldLayerFocus);
                }


                if (storageFocusedObject)
                {
                    FocusManager.RestoreFocusSaved();
                }
            }

            FocusManager.OnChangeLayer -= OnChangeLayer;
            GameUtilities.StopTimer <LayerFocus>(OnChangeLayer);
        }
        public void SetFocus(LayerFocus layerFocus, bool changeLayer)
        {
            this.layerFocus = layerFocus;

            if (changeLayer)
            {
                _oldLayerFocus = FocusManager.CurrentLayerFocus;

                if (storageFocusedObject)
                {
                    FocusManager.PreserveCurrentFocus();
                }

                FocusManager.ChangeLayer(layerFocus);
            }
        }
        protected override void OnEnableAfterStart()
        {
            base.OnEnableAfterStart();

            if (setFocusOnEnable)
            {
                if (storageFocusedObject)
                {
                    FocusManager.PreserveCurrentFocus();
                }

                if (useStairFocus)
                {
                    FocusManager.UpLayer();
                }
                else
                {
                    _oldLayerFocus = FocusManager.CurrentLayerFocus;
                    FocusManager.ChangeLayer(layerFocus);
                }
            }
        }