private void InitializeGameServices() { lock (GameServicesLock) { if (mServices != null) { return; } using (var builder = GameServicesBuilder.Create()) { using (var config = CreatePlatformConfiguration(builder)) { builder.SetOnAuthFinishedCallback(HandleAuthTransition); builder.SetOnTurnBasedMatchEventCallback((eventType, matchId, match) => mTurnBasedClient.HandleMatchEvent(eventType, matchId, match)); builder.SetOnMultiplayerInvitationEventCallback(HandleInvitation); mServices = builder.Build(config); mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(mServices)); mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(mServices)); mAppStateClient = CreateAppStateClient(); mAuthState = AuthState.SilentPending; } } } }
private void InitializeGameServices() { lock (GameServicesLock) { if (mServices != null) { return; } using (var builder = GameServicesBuilder.Create()) { using (var config = clientImpl.CreatePlatformConfiguration()) { // We need to make sure that the invitation delegate is registered before the // services object is initialized - otherwise we might miss a callback if // the game was opened because of a user accepting an invitation through // a system notification. RegisterInvitationDelegate(mConfiguration.InvitationDelegate); builder.SetOnAuthFinishedCallback(HandleAuthTransition); builder.SetOnTurnBasedMatchEventCallback((eventType, matchId, match) => mTurnBasedClient.HandleMatchEvent(eventType, matchId, match)); builder.SetOnMultiplayerInvitationEventCallback(HandleInvitation); if (mConfiguration.EnableSavedGames) { builder.EnableSnapshots(); } if (mConfiguration.RequireGooglePlus) { builder.RequireGooglePlus(); } Debug.Log("Building GPG services, implicitly attempts silent auth"); mAuthState = AuthState.SilentPending; mServices = builder.Build(config); mEventsClient = new NativeEventClient(new EventManager(mServices)); mQuestsClient = new NativeQuestClient(new QuestManager(mServices)); mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(mServices)); mTurnBasedClient.RegisterMatchDelegate(mConfiguration.MatchDelegate); mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(mServices)); if (mConfiguration.EnableSavedGames) { mSavedGameClient = new NativeSavedGameClient(new SnapshotManager(mServices)); } else { mSavedGameClient = new UnsupportedSavedGamesClient( "You must enable saved games before it can be used. " + "See PlayGamesClientConfiguration.Builder.EnableSavedGames."); } mAuthState = AuthState.SilentPending; mTokenClient = clientImpl.CreateTokenClient(false); } } } }
private void InitializeGameServices() { lock (this.GameServicesLock) { if (this.mServices != null) { return; } using (GameServicesBuilder gameServicesBuilder = GameServicesBuilder.Create()) { using (PlatformConfiguration platformConfiguration = this.clientImpl.CreatePlatformConfiguration()) { this.RegisterInvitationDelegate(this.mConfiguration.InvitationDelegate); gameServicesBuilder.SetOnAuthFinishedCallback(new GameServicesBuilder.AuthFinishedCallback(this.HandleAuthTransition)); gameServicesBuilder.SetOnTurnBasedMatchEventCallback((Action <Types.MultiplayerEvent, string, NativeTurnBasedMatch>)((eventType, matchId, match) => this.mTurnBasedClient.HandleMatchEvent(eventType, matchId, match))); gameServicesBuilder.SetOnMultiplayerInvitationEventCallback(new Action <Types.MultiplayerEvent, string, GooglePlayGames.Native.PInvoke.MultiplayerInvitation>(this.HandleInvitation)); if (this.mConfiguration.EnableSavedGames) { gameServicesBuilder.EnableSnapshots(); } Debug.Log((object)"Building GPG services, implicitly attempts silent auth"); this.mAuthState = NativeClient.AuthState.SilentPending; this.mServices = gameServicesBuilder.Build(platformConfiguration); this.mEventsClient = (IEventsClient) new NativeEventClient(new GooglePlayGames.Native.PInvoke.EventManager(this.mServices)); this.mQuestsClient = (IQuestsClient) new NativeQuestClient(new GooglePlayGames.Native.PInvoke.QuestManager(this.mServices)); this.mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(this.mServices)); this.mTurnBasedClient.RegisterMatchDelegate(this.mConfiguration.MatchDelegate); this.mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(this.mServices)); this.mSavedGameClient = !this.mConfiguration.EnableSavedGames ? (ISavedGameClient) new UnsupportedSavedGamesClient("You must enable saved games before it can be used. See PlayGamesClientConfiguration.Builder.EnableSavedGames.") : (ISavedGameClient) new NativeSavedGameClient(new GooglePlayGames.Native.PInvoke.SnapshotManager(this.mServices)); this.mAuthState = NativeClient.AuthState.SilentPending; this.mTokenClient = this.clientImpl.CreateTokenClient(); } } } }
private void InitializeGameServices() { lock (GameServicesLock) { if (mServices != null) { return; } using (var builder = GameServicesBuilder.Create()) { using (var config = clientImpl.CreatePlatformConfiguration(mConfiguration)) { // We need to make sure that the invitation delegate // is registered before the services object is // initialized - otherwise we might miss a callback if // the game was opened because of a user accepting an // invitation through a system notification. RegisterInvitationDelegate(mConfiguration.InvitationDelegate); builder.SetOnAuthFinishedCallback(HandleAuthTransition); builder.SetOnTurnBasedMatchEventCallback( (eventType, matchId, match) => mTurnBasedClient.HandleMatchEvent( eventType, matchId, match)); builder.SetOnMultiplayerInvitationEventCallback( HandleInvitation); if (mConfiguration.EnableSavedGames) { builder.EnableSnapshots(); } string[] scopes = mConfiguration.Scopes; for (int i = 0; i < scopes.Length; i++) { builder.AddOauthScope(scopes[i]); } if (mConfiguration.IsHidingPopups) { builder.SetShowConnectingPopup(false); } Debug.Log("Building GPG services, implicitly attempts silent auth"); mServices = builder.Build(config); mEventsClient = new NativeEventClient(new EventManager(mServices)); mVideoClient = new NativeVideoClient(new VideoManager(mServices)); mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(mServices)); mTurnBasedClient.RegisterMatchDelegate(mConfiguration.MatchDelegate); mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(mServices)); if (mConfiguration.EnableSavedGames) { mSavedGameClient = new NativeSavedGameClient(new SnapshotManager(mServices)); } else { mSavedGameClient = new UnsupportedSavedGamesClient( "You must enable saved games before it can be used. " + "See PlayGamesClientConfiguration.Builder.EnableSavedGames."); } InitializeTokenClient(); } } } }
private void InitializeGameServices() { lock (GameServicesLock) { if (mServices != null) { return; } using (var builder = GameServicesBuilder.Create()) { using (var config = clientImpl.CreatePlatformConfiguration(mConfiguration)) { // We need to make sure that the invitation delegate // is registered before the services object is // initialized - otherwise we might miss a callback if // the game was opened because of a user accepting an // invitation through a system notification. RegisterInvitationDelegate(mConfiguration.InvitationDelegate); builder.SetOnAuthFinishedCallback(HandleAuthTransition); builder.SetOnTurnBasedMatchEventCallback( (eventType, matchId, match) => mTurnBasedClient.HandleMatchEvent( eventType, matchId, match)); builder.SetOnMultiplayerInvitationEventCallback( HandleInvitation); if (mConfiguration.EnableSavedGames) { builder.EnableSnapshots(); } string[] scopes = mConfiguration.Scopes; for (int i = 0; i < scopes.Length; i++) { builder.AddOauthScope(scopes[i]); } if (mConfiguration.IsHidingPopups) { builder.SetShowConnectingPopup(false); } Debug.Log("Building GPG services, implicitly attempts silent auth"); mAuthState = AuthState.SilentPending; mServices = builder.Build(config); mEventsClient = new NativeEventClient(new EventManager(mServices)); mQuestsClient = new NativeQuestClient(new QuestManager(mServices)); mVideoClient = new NativeVideoClient(new VideoManager(mServices)); mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(mServices)); mTurnBasedClient.RegisterMatchDelegate(mConfiguration.MatchDelegate); mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(mServices)); if (mConfiguration.EnableSavedGames) { mSavedGameClient = new NativeSavedGameClient(new SnapshotManager(mServices)); } else { mSavedGameClient = new UnsupportedSavedGamesClient( "You must enable saved games before it can be used. " + "See PlayGamesClientConfiguration.Builder.EnableSavedGames."); } mAuthState = AuthState.SilentPending; mTokenClient = clientImpl.CreateTokenClient(true); if (!GameInfo.WebClientIdInitialized() && (mConfiguration.IsRequestingIdToken || mConfiguration.IsRequestingAuthCode)) { OurUtils.Logger.e("Server Auth Code and ID Token require web clientId to configured."); } // Set the auth flags in the token client. mTokenClient.SetWebClientId(GameInfo.WebClientId); mTokenClient.SetRequestAuthCode(mConfiguration.IsRequestingAuthCode, mConfiguration.IsForcingRefresh); mTokenClient.SetRequestEmail(mConfiguration.IsRequestingEmail); mTokenClient.SetRequestIdToken(mConfiguration.IsRequestingIdToken); mTokenClient.SetHidePopups(mConfiguration.IsHidingPopups); mTokenClient.AddOauthScopes(scopes); mTokenClient.SetAccountName(mConfiguration.AccountName); } } } }
private void InitializeGameServices() { lock (GameServicesLock) { if (mServices == null) { using (GameServicesBuilder gameServicesBuilder = GameServicesBuilder.Create()) { using (PlatformConfiguration configRef = clientImpl.CreatePlatformConfiguration(mConfiguration)) { RegisterInvitationDelegate(mConfiguration.InvitationDelegate); gameServicesBuilder.SetOnAuthFinishedCallback(HandleAuthTransition); gameServicesBuilder.SetOnTurnBasedMatchEventCallback(delegate(Types.MultiplayerEvent eventType, string matchId, NativeTurnBasedMatch match) { mTurnBasedClient.HandleMatchEvent(eventType, matchId, match); }); gameServicesBuilder.SetOnMultiplayerInvitationEventCallback(HandleInvitation); if (mConfiguration.EnableSavedGames) { gameServicesBuilder.EnableSnapshots(); } string[] scopes = mConfiguration.Scopes; for (int i = 0; i < scopes.Length; i++) { gameServicesBuilder.AddOauthScope(scopes[i]); } if (mConfiguration.IsHidingPopups) { gameServicesBuilder.SetShowConnectingPopup(false); } Debug.Log((object)"Building GPG services, implicitly attempts silent auth"); mAuthState = AuthState.SilentPending; mServices = gameServicesBuilder.Build(configRef); mEventsClient = new NativeEventClient(new GooglePlayGames.Native.PInvoke.EventManager(mServices)); mQuestsClient = new NativeQuestClient(new GooglePlayGames.Native.PInvoke.QuestManager(mServices)); mVideoClient = new NativeVideoClient(new GooglePlayGames.Native.PInvoke.VideoManager(mServices)); mTurnBasedClient = new NativeTurnBasedMultiplayerClient(this, new TurnBasedManager(mServices)); mTurnBasedClient.RegisterMatchDelegate(mConfiguration.MatchDelegate); mRealTimeClient = new NativeRealtimeMultiplayerClient(this, new RealtimeManager(mServices)); if (mConfiguration.EnableSavedGames) { mSavedGameClient = new NativeSavedGameClient(new GooglePlayGames.Native.PInvoke.SnapshotManager(mServices)); } else { mSavedGameClient = new UnsupportedSavedGamesClient("You must enable saved games before it can be used. See PlayGamesClientConfiguration.Builder.EnableSavedGames."); } mAuthState = AuthState.SilentPending; mTokenClient = clientImpl.CreateTokenClient(true); if (!GameInfo.WebClientIdInitialized() && (mConfiguration.IsRequestingIdToken || mConfiguration.IsRequestingAuthCode)) { Logger.e("Server Auth Code and ID Token require web clientId to configured."); } mTokenClient.SetWebClientId("683498632423-6p90updcgm6b67r4ucmhs82nkq1dc1mi.apps.googleusercontent.com"); mTokenClient.SetRequestAuthCode(mConfiguration.IsRequestingAuthCode, mConfiguration.IsForcingRefresh); mTokenClient.SetRequestEmail(mConfiguration.IsRequestingEmail); mTokenClient.SetRequestIdToken(mConfiguration.IsRequestingIdToken); mTokenClient.SetHidePopups(mConfiguration.IsHidingPopups); mTokenClient.AddOauthScopes(scopes); mTokenClient.SetAccountName(mConfiguration.AccountName); } } } } }