/// <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); } }
/// <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); }
/// 销毁窗口对象 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); }