Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
 public override bool LoadEnd()
 {
     if (base.LoadEnd())
     {
         if (LoadBackCall != null)
         {
             LoadBackCall(this as ManagerContorBase);
             LoadBackCall = null;
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
 public virtual void Load <Model>(ModelLoadBackCall <Model> _LoadBackCall, params object[] _Agr) where Model : ManagerContorBase
 {
     LoadBackCall = _LoadBackCall as ModelLoadBackCall <ManagerContorBase>;
     Load(_Agr);
 }