diff --git a/Assets/PipeOut/Scenes/Loading.unity b/Assets/PipeOut/Scenes/Loading.unity index 3bb4a2de..a2d7732c 100644 --- a/Assets/PipeOut/Scenes/Loading.unity +++ b/Assets/PipeOut/Scenes/Loading.unity @@ -198,53 +198,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 83133762} m_CullTransparentMesh: 1 ---- !u!21 &99403971 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: 2DxFX/Standard/Shiny_Reflect - m_Shader: {fileID: 4800000, guid: 6fc94ae14d17d3642b09718b5b932fd2, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex2: - m_Texture: {fileID: 2800000, guid: 6ed1aafd335608e48aa3198044a161df, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _Alpha: 0 - - _ColorMask: 15 - - _Distortion: 0.47358456 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _Value2: 0.5 - - _Value3: 1 - - _Value4: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] --- !u!1 &127207264 GameObject: m_ObjectHideFlags: 0 @@ -940,6 +893,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: googleSignInButton: {fileID: 1119814872} + guestLoginButton: {fileID: 843293979} + bootstrapper: {fileID: 1407567916} --- !u!4 &479665482 Transform: m_ObjectHideFlags: 0 @@ -2408,6 +2363,53 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 843293977} m_CullTransparentMesh: 1 +--- !u!21 &919603745 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 2DxFX/Standard/Shiny_Reflect + m_Shader: {fileID: 4800000, guid: 6fc94ae14d17d3642b09718b5b932fd2, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex2: + m_Texture: {fileID: 2800000, guid: 6ed1aafd335608e48aa3198044a161df, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Alpha: 0 + - _ColorMask: 15 + - _Distortion: 0.9669923 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Value2: 0.5 + - _Value3: 1 + - _Value4: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] --- !u!1 &1119814870 GameObject: m_ObjectHideFlags: 0 @@ -2810,7 +2812,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 99403971} + m_Material: {fileID: 919603745} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset b/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset index 84798dd2..f80ba6d5 100644 --- a/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset +++ b/Assets/PlayFabSDK/Shared/Public/Resources/PlayFabSharedSettings.asset @@ -13,7 +13,7 @@ MonoBehaviour: m_Name: PlayFabSharedSettings m_EditorClassIdentifier: TitleId: 168AE2 - DeveloperSecretKey: + DeveloperSecretKey: IXUJIAQNTC6XPAWQ9N3K4ZNNBX3HNSINKX3OINR1RRJPAH5GYM ProductionEnvironmentUrl: RequestType: 0 DisableDeviceInfo: 0 @@ -22,7 +22,7 @@ MonoBehaviour: RequestKeepAlive: 1 CompressResponses: 0 DecompressWithDownloadHandler: 1 - LogLevel: 12 + LogLevel: -1 LoggerHost: LoggerPort: 0 EnableRealTimeLogging: 0 diff --git a/Assets/Scripts/Authentication/GoogleSignInHandler.cs b/Assets/Scripts/Authentication/GoogleSignInHandler.cs index cd35f554..fa7a44e8 100644 --- a/Assets/Scripts/Authentication/GoogleSignInHandler.cs +++ b/Assets/Scripts/Authentication/GoogleSignInHandler.cs @@ -13,15 +13,18 @@ public class GoogleSignInHandler : MonoBehaviour private FirebaseAuth auth; private GoogleSignInConfiguration configuration; [SerializeField] private Button googleSignInButton; - + [SerializeField] private Button guestLoginButton; + [SerializeField] private Bootstrapper bootstrapper; private void OnEnable() { googleSignInButton.onClick.AddListener(SignInWithGoogle); + guestLoginButton.onClick.AddListener(GuestLogin); } private void OnDisable() { googleSignInButton.onClick.RemoveListener(SignInWithGoogle); + guestLoginButton.onClick.RemoveListener(GuestLogin); } void Start() @@ -39,6 +42,49 @@ public class GoogleSignInHandler : MonoBehaviour GoogleSignIn.DefaultInstance.EnableDebugLogging(true); } + + public void GuestLogin() + { + Debug.Log("Starting game in Guest Mode..."); + SafePlayerPrefs.SetInt("GuestMode", 1); + PlayerPrefs.Save(); + + googleSignInButton.gameObject.SetActive(false); + guestLoginButton.gameObject.SetActive(false); + + PlayFabSettings.staticSettings.TitleId = GameConstants.PlayfabTitleId; + + string customId = SystemInfo.deviceUniqueIdentifier; + SafePlayerPrefs.SetString("GuestCustomID", customId); // Save customId + + var request = new LoginWithCustomIDRequest + { + CustomId = customId, + CreateAccount = true + }; + + PlayFabClientAPI.LoginWithCustomID(request, result => + { + Debug.Log("✅ Guest Login Success! PlayFab ID: " + result.PlayFabId); + SafePlayerPrefs.SetString("PlayFabID", result.PlayFabId); + PlayerPrefs.Save(); + + if (result.NewlyCreated) + { + SafePlayerPrefs.SetInt("NeedsDisplayNameUpload", 1); + PlayerPrefs.Save(); + } + + bootstrapper.StartGame(); + }, + error => + { + Debug.LogError("❌ Guest PlayFab login failed: " + error.GenerateErrorReport()); + googleSignInButton.gameObject.SetActive(true); + guestLoginButton.gameObject.SetActive(true); + }); + } + private void SignInWithGoogle() { if (GoogleSignIn.Configuration == null) @@ -58,37 +104,37 @@ public class GoogleSignInHandler : MonoBehaviour return; } - // Firebase uses ID token - var firebaseCredential = GoogleAuthProvider.GetCredential(task.Result.IdToken, null); - FirebaseAuth.DefaultInstance.SignInWithCredentialAsync(firebaseCredential).ContinueWith(authTask => + // PlayFab uses ServerAuthCode + var request = new LoginWithGoogleAccountRequest { - if (authTask.IsCompleted && !authTask.IsFaulted) - { - Debug.Log("Firebase sign-in successful"); - - // PlayFab uses ServerAuthCode - var request = new LoginWithGoogleAccountRequest - { - TitleId = PlayFabSettings.staticSettings.TitleId, - ServerAuthCode = task.Result.AuthCode, - CreateAccount = true - }; - - PlayFabClientAPI.LoginWithGoogleAccount(request, OnPlayFabLoginSuccess, OnPlayFabLoginFailure); - } - else - { - Debug.LogError("Firebase sign-in failed: " + authTask.Exception); - } - }); + TitleId = PlayFabSettings.staticSettings.TitleId, + ServerAuthCode = task.Result.AuthCode, + CreateAccount = true + }; + Debug.Log($"LoginWithGoogleAccount Title {request.TitleId} AuthCode {request.ServerAuthCode}"); + PlayFabClientAPI.LoginWithGoogleAccount(request, OnPlayFabLoginSuccess, OnPlayFabLoginFailure); + // // Firebase uses ID token + // var firebaseCredential = GoogleAuthProvider.GetCredential(task.Result.IdToken, null); + // FirebaseAuth.DefaultInstance.SignInWithCredentialAsync(firebaseCredential).ContinueWith(authTask => + // { + // if (authTask.IsCompleted && !authTask.IsFaulted) + // { + // Debug.Log("Firebase sign-in successful"); + // + // } + // else + // { + // Debug.LogError("Firebase sign-in failed: " + authTask.Exception); + // } + // }); } private void OnPlayFabLoginSuccess(LoginResult result) { - Debug.Log("✅ PlayFab Login Success! PlayFab ID: " + result.PlayFabId); + Debug.Log("PlayFab Login Success! PlayFab ID: " + result.PlayFabId); SafePlayerPrefs.SetString("PlayFabID", result.PlayFabId); PlayerPrefs.Save(); - + bootstrapper.StartGame(); } private void OnPlayFabLoginFailure(PlayFabError error)