Exemple #1
0
    /// <summary>
    /// Use Coroutine to initialize the two base modules: Resource & UI
    /// </summary>
    IEnumerator DoInit()
    {
        ICModule[] baseModules = new ICModule[] {  // 基础三件套
            CResourceManager.Instance,
            CUIManager.Instance,
        };
        foreach (ICModule mod in baseModules)
        {
            yield return(StartCoroutine(mod.Init()));
        }

        CBase.Log("Finish Init ResourceManager + UIManager!");

        if (BeforeInitModules != null)
        {
            yield return(StartCoroutine(BeforeInitModules()));
        }


        yield return(StartCoroutine(DoInitModules()));

        if (AfterInitModules != null)
        {
            yield return(StartCoroutine(AfterInitModules()));
        }
    }
Exemple #2
0
    /// <summary>
    /// Use Coroutine to initialize the two base modules: Resource & UI
    /// </summary>
    IEnumerator DoInit()
    {
        ICModule[] baseModules = new ICModule[] {  // 基础三件套
            CResourceManager.Instance,
            CUIManager.Instance,
        };
        foreach (ICModule mod in baseModules)
        {
            float startInitTime = Time.time;
            yield return(StartCoroutine(mod.Init()));

            if (Debug.isDebugBuild)
            {
                CBase.Log("Init Module: #{0}# Time:{1}", mod.GetType().FullName, Time.time - startInitTime);
            }
        }

        CBase.Log("Finish Init ResourceManager + UIManager!");

        if (BeforeInitModules != null)
        {
            yield return(StartCoroutine(BeforeInitModules()));
        }


        yield return(StartCoroutine(DoInitModules()));

        if (AfterInitModules != null)
        {
            yield return(StartCoroutine(AfterInitModules()));
        }
    }
 /// <summary>
 /// Engine entry.... all begins from here
 /// </summary>
 public static CCosmosEngine New(GameObject gameObjectToAttach, ICModule[] modules, CoroutineDelegate before, CoroutineDelegate after)
 {
     CBase.Assert(gameObjectToAttach != null && modules != null);
     CCosmosEngine engine = gameObjectToAttach.AddComponent<CCosmosEngine>();
     engine.GameModules = modules;
     engine.BeforeInitModules = before;
     engine.AfterInitModules = after;
     return engine;
 }
Exemple #4
0
        /// <summary>
        /// Use Coroutine to initialize the two base modules: Resource & UI
        /// </summary>
        IEnumerator DoInit()
        {
            var baseModules = new ICModule[] {  // 基础三件套
                CResourceModule.Instance,
                CUIModule.Instance,
            };

            yield return(StartCoroutine(DoInitModules(baseModules)));

            CDebug.Log("Finish Init ResourceManager + UIManager!");

            if (BeforeInitModules != null)
            {
                yield return(StartCoroutine(BeforeInitModules()));
            }


            yield return(StartCoroutine(DoInitModules(GameModules)));

            if (AfterInitModules != null)
            {
                yield return(StartCoroutine(AfterInitModules()));
            }
        }
        /// <summary>
        /// Use Coroutine to initialize the two base modules: Resource & UI
        /// </summary>
        IEnumerator DoInit()
        {
            var baseModules = new ICModule[] {  // 基础三件套
                CResourceModule.Instance,
                CUIModule.Instance,
            };

            var startInitTime = 0f;
            foreach (ICModule mod in baseModules)
            {
                if (Debug.isDebugBuild)
                    startInitTime = Time.time;
                yield return StartCoroutine(mod.Init());
                if (Debug.isDebugBuild)
                    CDebug.Log("Init Module: #{0}# Time:{1}", mod.GetType().FullName, Time.time - startInitTime);
            }

            CDebug.Log("Finish Init ResourceManager + UIManager!");

            if (BeforeInitModules != null)
                yield return StartCoroutine(BeforeInitModules());

            yield return StartCoroutine(DoInitModules());
            if (AfterInitModules != null)
                yield return StartCoroutine(AfterInitModules());
        }
 public static CCosmosEngine New(GameObject gameObjectToAttach, ICModule[] modules)
 {
     return New(gameObjectToAttach, modules, null, null);
 }
        /// <summary>
        /// Use Coroutine to initialize the two base modules: Resource & UI
        /// </summary>
        IEnumerator DoInit()
        {
            var baseModules = new ICModule[] {  // 基础三件套
                CResourceModule.Instance, 
                CUIModule.Instance, 
            };

            yield return StartCoroutine(DoInitModules(baseModules));

            CDebug.Log("Finish Init ResourceManager + UIManager!");

            if (BeforeInitModules != null)
                yield return StartCoroutine(BeforeInitModules());


            yield return StartCoroutine(DoInitModules(GameModules));
            if (AfterInitModules != null)
                yield return StartCoroutine(AfterInitModules());

        }