示例#1
0
        protected IEnumerator Ignite()
        {
            yield return(this.SetupDiagnosticsLogFile());

            Diagnostics.Log("Starting the application, version is {0}...", new object[]
            {
                Application.Version.ToString()
            });
            Diagnostics.Log("Running 64-bit mode...");
            Diagnostics.Log("Game directory is \"{0}\".", new object[]
            {
                Application.GameDirectory
            });
            yield return(this.SteamRestartAppIfNecessary());

            yield return(this.SteamInitialize());

            yield return(this.SteamGetCurrentGameLanguage());

            yield return(this.SteamGetSteamUserName());

            Application.LoadRegistry();
            yield return(this.OnApplicationIgnitionStarted());

            this.Managers = base.gameObject.GetComponentsInChildren <Manager>();
            foreach (Manager manager in this.Managers)
            {
                UnityCoroutine.StartCoroutine(manager, manager.Ignite(), new EventHandler <CoroutineExceptionEventArgs>(this.Manager_Ignite_CoroutineExceptionCallback));
            }
            foreach (Manager manager2 in this.Managers)
            {
                while (!manager2.HasBeenIgnited)
                {
                    yield return(null);
                }
                if (manager2.LastError != 0)
                {
                }
            }
            Application.Bootstrapper = (UnityEngine.Object.FindObjectOfType(typeof(Bootstrapper)) as Bootstrapper);
            this.LastRevision        = Databases.CurrentRevision;
            Databases.Commit();
            yield return(this.OnApplicationIgnitionComplete());

            yield break;
        }