protected override IEnumerator ModelStart <C>(C model, ModelLoadBackCall <C> BackCall, params object[] _Agr) { yield return(new WaitForEndOfFrame()); model.Start(_Agr); if (BackCall != null) { BackCall(model); } }
public override void Load <Model>(ModelLoadBackCall <Model> _LoadBackCall, params object[] _Agr) { base.Load <Model>(_LoadBackCall, _Agr); LuaFunction func = LuaManagerModel.Instance.GetFunction(ModelName + ".Load"); if (func != null) { func.BeginPCall(); func.PushArgs(_Agr); func.PCall(); func.EndPCall(); } }
public override void StartModelForName(string nameSpace, string ModelName, ModelLoadBackCall <ManagerContorBase> BackCall = null, params object[] _Agr) { if (!Models.ContainsKey(ModelName)) { Models[ModelName] = Assembly.GetExecutingAssembly().CreateInstance(nameSpace + "." + ModelName, true, System.Reflection.BindingFlags.Default, null, null, null, null) as ManagerContorBase; Models[ModelName].ModelName = ModelName; base.StartModel(ModelName, Models[ModelName]); Models[ModelName].Load <ManagerContorBase>((model) => { StartCoroutine(ModelStart <ManagerContorBase>(model, BackCall, _Agr)); }, _Agr); } else { LoggerHelper.Error("This Model Already Load:" + ModelName); } }
public override bool LoadEnd() { if (base.LoadEnd()) { if (LoadBackCall != null) { LoadBackCall(this as ManagerContorBase); LoadBackCall = null; } return(true); } else { return(false); } }
public override void StartModel <C>(ModelLoadBackCall <C> BackCall = null, params object[] _Agr) { string ModelName = typeof(C).Name; if (!Models.ContainsKey(ModelName)) { Models[ModelName] = new C(); Models[ModelName].ModelName = ModelName; base.StartModel(ModelName, Models[ModelName]); Models[ModelName].Load <C>((model) => { StartCoroutine(ModelStart <C>(model, BackCall, _Agr)); }, _Agr); } else { LoggerHelper.Error("This Model Already Load:" + typeof(C).Name); } }
public virtual void Load <Model>(ModelLoadBackCall <Model> _LoadBackCall, params object[] _Agr) where Model : ManagerContorBase { LoadBackCall = _LoadBackCall as ModelLoadBackCall <ManagerContorBase>; Load(_Agr); }