コード例 #1
0
        static void Main(string[] args)
        {
            try
            {
                SplashScreen.ShowSplashScreen();
#if DEBUG
                Configuration.Current.LogLevel = LogLevel.Verbose;
#endif
                LogUtil.LogMessage("Initialize application {2} v{1} ({0}) on {3} ({4}) {5}",
                                   ProductUtil.GetProductVersionInfo().OriginalFilename,
                                   ProductUtil.GetProductVersionInfo().ProductVersion,
                                   Application.ProductName,
                                   Environment.OSVersion,
                                   Environment.OSVersion.Platform,
                                   Environment.OSVersion.ServicePack);

                ConfigUtil.UpgradeAppSettingsAfterRename(Constants.APP_CONFIG_FILE_SPCB2013);

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.ApplicationExit += Application_ApplicationExit;

                Globals.Arguments = new CommandArguments(args);

                SplashScreen.UpdateForm("Loading recent tenants and sites...");
                Globals.Sites.Load();
                Globals.Tenants.Load();
                Globals.CustomFeatureDefinitions.Load();
                TaskBar.UpdateRecentItemsJumpList();

                LogUtil.TruncateLogFiles();

                if (Configuration.Current.CheckUpdatesOnStartup)
                {
                    SplashScreen.UpdateForm("Checking for new releases...");
                    Globals.LatestRelease = ReleasesManager.GetLatestRelease();
                }

                SplashScreen.UpdateForm("Launching application...");
                MainForm mainForm = new MainForm();
                SplashScreen.CloseForm();
                Application.Run(mainForm);
            }
            catch (Exception ex)
            {
                if (SplashScreen.IsActive())
                {
                    SplashScreen.ShowMessageBox(ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                LogUtil.LogException(ex);
            }
        }
コード例 #2
0
        public override void Initialize()
        {
            this.RequestMicrophonePermissions();
            this.StartCoroutine(Coroutine());

            System.Collections.IEnumerator Coroutine()
            {
                yield return(ReleasesManager.WaitForInitialization());

                yield return(UserInfoManager.WaitForInitialization());

                var settings = ReleasesManager.Instance.CurrentRelease.DissonanceManagerSettings;

#if !USING_DISSONANCE
                if (this.enabled)
                {
                    Debug.LogError("DissonanceManager is enabled, but USING_DISSONANCE define is not set.  Make sure Dissonance plugin is " +
                                   "installed and the define is set, otherwise Dissonance will not work.", this);
                }
#else
                if (this.dissonanceCommsPrefab == null)
                {
                    Debug.LogError("DissonanceManager: Unable to locate the DissonanceComms object. Dissonance will not work.", this);
                }
                else
                {
                    var dissonanceCommsObject = GameObject.Instantiate(this.dissonanceCommsPrefab, this.transform);

                    this.DissonanceComms = dissonanceCommsObject.GetComponent <Dissonance.DissonanceComms>();

                    if (this.DissonanceComms == null)
                    {
                        Debug.LogError("DissonanceManager: DissonanceComms Prefab does not have the DissonanceComms Component, Dissonance will not work.", this);
                    }
                    else
                    {
                        this.DissonanceComms.LocalPlayerName = UserInfoManager.Instance.UserHexId;
                        this.DissonanceComms.gameObject.name = "Dissonance Comms";
                        this.DissonanceComms.gameObject.SetActive(true);
                    }
                }
#endif

                this.SetInstance(this);
            }
        }
コード例 #3
0
        public override void Initialize()
        {
            this.StartCoroutine(Coroutine());

            IEnumerator Coroutine()
            {
                yield return(ReleasesManager.WaitForInitialization());

                var settings = ReleasesManager.Instance.CurrentRelease.UnityPurchasingManagerSettings;

                if (settings.IsEnabled)
                {
#if !PURCHASING_ENABLED
                    Debug.LogError("UnityPurchasingManager: Tring to use UnityPurchasingManager without USING_UNITY_PURCHASING define. " +
                                   "Make sure Unity Purchasing is installed correctly.");
#endif
                }

                this.SetInstance(this);
            }
        }
コード例 #4
0
        public override void Initialize()
        {
            this.StartCoroutine(InitializeCoroutine());

            IEnumerator InitializeCoroutine()
            {
                PlayFabSettings.GlobalErrorHandler += this.OnGlobalErrorEvent;

                yield return(ReleasesManager.WaitForInitialization());

                yield return(UnityPurchasingManager.WaitForInitialization());

                PlayFabManager.Settings playfabSettings = ReleasesManager.Instance.CurrentRelease.PlayfabManagerSettings;

                string catalogVersion = playfabSettings.CatalogVersion;

                PlayFabSettings.staticSettings.TitleId = Lost.BuildConfig.RuntimeBuildConfig.Instance.GetString(PlayFabConfigExtensions.TitleId);

                this.Login = new LoginManager(this);

                // Starting the Logging In loop
                var combinedParams = new GetPlayerCombinedInfoRequestParams
                {
                    GetTitleData           = playfabSettings.LoadTitleDataKeys.Count > 0,
                    TitleDataKeys          = playfabSettings.LoadTitleDataKeys,
                    GetUserInventory       = playfabSettings.LoadInventory,
                    GetUserVirtualCurrency = playfabSettings.LoadVirtualCurrency,
                    GetPlayerProfile       = playfabSettings.LoadPlayerProfile,
                    GetCharacterList       = playfabSettings.LoadCharacters,
                    GetUserAccountInfo     = true,
                };

                LostMessages.BootloaderLoggingIn();
                var login = this.Login.Login(this.loginMethod, combinedParams, playfabSettings.FacebookPermissions);

                yield return(login);

                this.Catalog    = new CatalogManager(this, catalogVersion);
                this.Character  = new CharacterManager(this, login.Value?.InfoResultPayload?.CharacterList);
                this.Inventory  = new InventoryManager(this, login.Value?.InfoResultPayload?.UserInventory);
                this.Purchasing = new PurchasingManager(this, catalogVersion);

                this.PushNotifications = new PushNotificationManager(this);
                this.Store             = new StoreManager(this, catalogVersion);
                this.TitleData         = new TitleDataManager(this, login.Value?.InfoResultPayload?.TitleData);
                this.TitleNews         = new TitleNewsManager(this);
                this.User            = new UserManager(this, login.Value);
                this.VirtualCurrency = new VirtualCurrencyManager(this, login.Value?.InfoResultPayload?.UserVirtualCurrency);

                // Catalog
                if (playfabSettings.LoadCatalog)
                {
                    LostMessages.BootloaderDownloadingCatalog();
                    yield return(this.Catalog.GetCatalog());
                }

                // Stores
                if (playfabSettings.LoadStoresAtStartup?.Count > 0)
                {
                    LostMessages.BootloaderLoadingStores();

                    foreach (var store in playfabSettings.LoadStoresAtStartup)
                    {
                        // TODO [bgish]: Tell the loading dialog that we're getting store "X"
                        yield return(this.Store.GetStore(store));
                    }
                }

                // Initializing purchasing, but no need to wait on it later
                if (playfabSettings.LoadPurchasing)
                {
                    LostMessages.BootloaderInitializingPurchasing();
                    yield return(this.Purchasing.Initialize());
                }

                // Push Notifications
                if (Application.platform == RuntimePlatform.IPhonePlayer && playfabSettings.RegisterIosPushNotificationsAtStartup)
                {
                    this.PushNotifications.RegisterPushNotificationsWithPlayFab();
                }
                else if (Application.platform == RuntimePlatform.Android)
                {
                    this.PushNotifications.RegisterPushNotificationsWithPlayFab();
                }

                this.SetInstance(this);
            }
        }