コード例 #1
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);
            }
        }
コード例 #2
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);
            }
        }
コード例 #3
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);
            }
        }