/// <summary> /// 销毁,请不要使用 /// </summary> public void Destroy() { // 逻辑反初始化 OnUninitialize(); // 关闭窗口 开始淡出动画 UGUIRoot.GetInstance().CloseForm(Form); // Mediator = null; }
/// <summary> /// 创建,请不要使用 /// </summary> /// <param name="mediator">所在的Mediator</param> /// <param name="customID">自定义ID</param> /// <param name="parameter">初始化参数</param> public void Create(UIMediator mediator, int customID, object parameter) { Mediator = mediator; _customID = customID; //打开窗口 加入 UGUIRoot.GetInstance().OpenForm(Form); // 逻辑初始化 OnInitialize(parameter); }
public static T CreateFormClass <T>(bool pool, UIMediator mediator, int customID = 0, object parameter = null) where T : UIFormClass, new() { T prefabClass = (T)AssetService.GetInstance().LoadFormAsset <T>(pool ? LifeType.UIState : LifeType.Immediate); if (prefabClass == null) { return(null); } prefabClass.Create(mediator, customID, parameter); return(prefabClass); }
/// <summary> /// 移除Mediaotr /// </summary> /// <param name="mediator">mediator</param> public void RemoveMediator(UIMediator mediator) { if (mediator == null) { return; } for (int i = 0; i < _mediator.Count; i++) { if (_mediator[i].Mediator == mediator) { _mediator.RemoveAt(i); return; } } }
/// <summary> /// 添加Mediator /// </summary> /// <param name="mediator">mediaotr</param> /// <param name="stateName">mediator所处的状态名数组</param> public void AddMediator(UIMediator mediator, string[] stateName) { if (mediator == null) { return; } for (int i = 0; i < _mediator.Count; i++) { if (_mediator[i].Mediator == mediator) { JW.Common.Log.LogE("UIStateService.AddMediator error - duplicate mediator {0}", mediator.GetType().FullName); return; } } MediatorData data; data.Mediator = mediator; data.StateName = stateName; _mediator.Add(data); }