Example #1
0
 /// <summary>
 /// 销毁,请不要使用
 /// </summary>
 public void Destroy()
 {
     // 逻辑反初始化
     OnUninitialize();
     // 关闭窗口 开始淡出动画
     UGUIRoot.GetInstance().CloseForm(Form);
     //
     Mediator = null;
 }
Example #2
0
 /// <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);
 }
Example #3
0
        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);
        }