protected override void Run(UIEventType.InnerDestroyWindow args)
        {
            var    target = args.target;
            Entity view   = target.GetComponent(target.ViewType);

            if (view != null)
            {
                var obj = view.GetGameObject();
                if (obj)
                {
                    if (GameObjectPoolComponent.Instance == null)
                    {
                        GameObject.Destroy(obj);
                    }
                    else
                    {
                        GameObjectPoolComponent.Instance.RecycleGameObject(obj);
                    }
                }
                view.BeforeOnDestroy();
                UIEventSystem.Instance.OnDestroy(view);
            }
        }