Esempio n. 1
0
        private void AddLoginProvider(PlayerIdentityLoginSubsystem loginProvider)
        {
            if (!loginProvider.running)
            {
                loginProvider.Start();
            }

            if (loginProvider.SubsystemDescriptor.defaultInPlatform !=
                PlayerIdentityLoginSubsystemDescriptor.NoDefaultInPlatform &&
                loginProvider.SubsystemDescriptor.defaultInPlatform == Application.platform)
            {
                // add it as the first (default) provider.
                m_LoginProviders.Insert(0, loginProvider);
            }
            else
            {
                m_LoginProviders.Add(loginProvider);
            }
        }
Esempio n. 2
0
        void Start()
        {
            if (PlayerIdentityGeneralSettings.Instance == null)
            {
                Utils.Logger.Warning("No Loader was configured for use.");
                return;
            }

            var backendLoader = PlayerIdentityGeneralSettings.Instance.Manager.backendLoader;

            if (backendLoader == null)
            {
                Utils.Logger.Error("Identity backend is not configured.");
                return;
            }

            var backendSystem = backendLoader.GetLoadedSubsystem <PlayerIdentityBackendSubsystem>();

            if (backendSystem != null)
            {
                Utils.Logger.InfoFormat("BackendSystem is {1} for Provider: {0}", backendLoader.name,
                                        backendSystem.running ? "running" : "not running");

                if (!backendSystem.running)
                {
                    backendSystem.Start();
                }

                m_Backend = backendSystem;
            }

            List <PlayerIdentityLoader> loaders = PlayerIdentityGeneralSettings.Instance.Manager.providerLoaders;

            foreach (var loader in loaders)
            {
                if (loader == null)
                {
                    continue;
                }

                PlayerIdentityLoginSubsystem loginSystem = loader.GetLoadedSubsystem <PlayerIdentityLoginSubsystem>();
                if (loginSystem != null)
                {
                    Utils.Logger.InfoFormat("LoginSystem is {1} for Provider: {0}", loader.name,
                                            loginSystem.running ? "running" : "not running");

                    var supportedPlatforms = loginSystem.SubsystemDescriptor.supportedPlatforms;
                    if (supportedPlatforms.Length > 0)
                    {
                        if (supportedPlatforms.Any(p => p == Application.platform))
                        {
                            // supported platform
                            AddLoginProvider(loginSystem);
                        }
                        else
                        {
                            Utils.Logger.InfoFormat("LoginSystem is not supported in platform {1} for Provider: {0}", loader.name,
                                                    Application.platform);
                        }
                    }
                    else
                    {
                        AddLoginProvider(loginSystem);
                    }
                }
            }

            RestoreLogin();
        }