Exemplo n.º 1
0
 /// <summary>
 /// 删除所有的窗口
 /// </summary>
 protected void DestroyAllFormClass()
 {
     for (int i = 0; i < _forms.Count; i++)
     {
         UIFormClass pc = _forms[i];
         if (pc == null)
         {
             continue;
         }
         _forms[i] = null;
         UIFormHelper.DisposeFormClass(pc);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 创建窗口对象
        /// </summary>
        /// <typeparam name="T">对象类型</typeparam>
        /// <param name="usePool">是否使用对象池</param>
        /// <param name="customID">自定义ID</param>
        /// <param name="parameter">预制件初始化参数</param>
        /// <returns>预制件对象</returns>
        protected T CreateFormClass <T>(bool usePool, int customID = 0, object parameter = null) where T : UIFormClass, new()
        {
            T prefabClass = UIFormHelper.CreateFormClass <T>(usePool, this, customID, parameter);

            if (prefabClass == null)
            {
                JW.Common.Log.LogE("UIMediator.CreatePrefabClass : failed to create {0}", typeof(T).FullName);
                return(null);
            }

            _forms.Add(prefabClass);
            return(prefabClass);
        }
Exemplo n.º 3
0
        /// 销毁窗口对象
        protected void DisposeFormClass <T>(ref T prefabClass) where T : UIFormClass, new()
        {
            if (null == prefabClass)
            {
                return;
            }

            for (int i = 0; i < _forms.Count; i++)
            {
                if (_forms[i] == prefabClass)
                {
                    _forms[i] = null;
                    break;
                }
            }
            //todo 这里应该等Form FadeOut动画完才能销毁
            UIFormHelper.DisposeFormClass(ref prefabClass);
        }