コード例 #1
0
        public IEnumerator LoadWebSettings()
        {
            var www = new WWW(Application.dataPath + @"/settings.xml");

            yield return(www);

            if (!string.IsNullOrEmpty(www.error))
            {
                Debug.LogError(www.error);
            }
            else
            {
                CoreContext.Settings = XmlSettings.Create(www.text);
                CoreContext.UserData = XmlUserData.Create();
            }
        }
コード例 #2
0
        async Task <StartupResult> StartupImpl()
        {
            var startupResult = new StartupResult();

            // TODO: let user opt-in/-out
            this.EnableTelemetry();

            this.localSettings   = XmlSettings.Create(this.localSettingsFolder);
            this.roamingSettings = XmlSettings.Create(this.roamingSettingsFolder);

            this.settings = await this.InitializeSettingsSet <BoilerplateSettings>("App.Boilerplate.xml");

            bool termsVersionMismatch = this.settings.AcceptedTerms != LicenseTermsAcceptance.GetTermsAndConditionsVersion();

            if (termsVersionMismatch)
            {
                var termsWindow = new LicenseTermsAcceptance();
                if (!true.Equals(termsWindow.ShowDialog()))
                {
                    this.Shutdown();
                    startupResult.LaunchCancelled = true;
                    return(startupResult);
                }
                termsWindow.Close();
                this.settings.AcceptedTerms = LicenseTermsAcceptance.GetTermsAndConditionsVersion();
                startupResult.TermsUpdated  = true;
            }

            string version = this.Version is null
                ? "N/A"
                : Invariant($"{this.Version.Major}.{this.Version.Minor}");

            if (this.settings.WhatsNewVersionSeen != version && this.WhatsNew != null)
            {
                this.ShowNotification(title: this.WhatsNew.Title,
                                      message: this.WhatsNew.Message,
                                      navigateTo: this.WhatsNew.DetailsUri);
            }

            this.settings.WhatsNewVersionSeen = version;

            return(startupResult);
        }
コード例 #3
0
        private void Initialize()
        {
#if UNITY_WEBPLAYER && !UNITY_EDITOR
            StartCoroutine(LoadWebSettings());
#else
            CoreContext.Settings = XmlSettings.Create();

            CoreContext.UserData = XmlUserData.Create();

            XmlUserData.UpdateSubGameBaseInfoList(CoreContext.Settings.SubGameBaseInfoList);
#endif
            CoreContext.AudioController = new Core.Model.Audio.AudioController();
            if (!CoreContext.AudioController.LoadSnapshot(CoreContext.UserData.Common.AudioControllerSnapshot))
            {
                CoreContext.AudioController.LoadSnapshot(CoreContext.Settings.DefaultAudioControllerSnapshot);
            }

            Application.LoadLevelAdditive(CoreContext.Settings.GameSceneArray.StartSceneName);
        }