/// <summary> /// Performs the setup. This is called externally to facilitate /// build automation. /// </summary> /// <param name="clientId">Client identifier.</param> /// <param name="bundleId">Bundle identifier.</param> /// <param name="nearbySvcId">Nearby connections service Id.</param> public static bool PerformSetup(string clientId, string bundleId, string nearbySvcId) { if (!GPGSUtil.LooksLikeValidClientId(clientId)) { GPGSUtil.Alert(GPGSStrings.Setup.ClientIdError); return(false); } if (!GPGSUtil.LooksLikeValidBundleId(bundleId)) { GPGSUtil.Alert(GPGSStrings.IOSSetup.BundleIdError); return(false); } // nearby is optional - only set it up if present. if (nearbySvcId != null) { bool ok = NearbyConnectionUI.PerformSetup(nearbySvcId, false); if (!ok) { return(false); } } Save(clientId, bundleId); GPGSUtil.UpdateGameInfo(); FillInAppData(GameInfoPath, GameInfoPath, clientId, bundleId); // Finished! GPGSProjectSettings.Instance.Set("ios.SetupDone", true); GPGSProjectSettings.Instance.Save(); AssetDatabase.Refresh(); return(true); }
/// <summary> /// Provide static access to setup for facilitating automated builds. /// </summary> /// <param name="appId">App identifier.</param> /// <param name="nearbySvcId">Optional nearby connection serviceId</param> public static bool PerformSetup(string clientId, string appId, string nearbySvcId) { if (!string.IsNullOrEmpty(clientId)) { if (!GPGSUtil.LooksLikeValidClientId(clientId)) { GPGSUtil.Alert(GPGSStrings.Setup.ClientIdError); return(false); } appId = clientId.Split('-')[0]; } else { // check for valid app id if (!GPGSUtil.LooksLikeValidAppId(appId)) { GPGSUtil.Alert(GPGSStrings.Setup.AppIdError); return(false); } } if (nearbySvcId != null) { if (!NearbyConnectionUI.PerformSetup(nearbySvcId, true)) { return(false); } } GPGSProjectSettings.Instance.Set("proj.AppId", appId); GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDCLIENTIDKEY, clientId); GPGSProjectSettings.Instance.Save(); GPGSUtil.UpdateGameInfo(); // check that Android SDK is there if (!GPGSUtil.HasAndroidSdk()) { Debug.LogError("Android SDK not found."); EditorUtility.DisplayDialog(GPGSStrings.AndroidSetup.SdkNotFound, GPGSStrings.AndroidSetup.SdkNotFoundBlurb, GPGSStrings.Ok); return(false); } GPGSUtil.CopySupportLibs(); // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(); FillInAppData(GameInfoPath, GameInfoPath, clientId); // refresh assets, and we're done AssetDatabase.Refresh(); GPGSProjectSettings.Instance.Set("android.SetupDone", true); GPGSProjectSettings.Instance.Save(); return(true); }
/// <summary> /// Performs the setup. This is called externally to facilitate /// build automation. /// </summary> /// <param name="clientId">Client identifier.</param> /// <param name="bundleId">Bundle identifier.</param> public static void PerformSetup(string clientId, string bundleId) { if (!GPGSUtil.LooksLikeValidClientId(clientId)) { GPGSUtil.Alert(GPGSStrings.IOSSetup.ClientIdError); return; } if (!GPGSUtil.LooksLikeValidBundleId(bundleId)) { GPGSUtil.Alert(GPGSStrings.IOSSetup.BundleIdError); return; } Save(clientId, bundleId); GPGSUtil.UpdateGameInfo(); FillInAppData(GameInfoPath, GameInfoPath, clientId, bundleId); // Finished! GPGSProjectSettings.Instance.Set("ios.SetupDone", true); GPGSProjectSettings.Instance.Save(); AssetDatabase.Refresh(); GPGSUtil.Alert(GPGSStrings.Success, GPGSStrings.IOSSetup.SetupComplete); }
/// <summary> /// Provide static access to setup for facilitating automated builds. /// </summary> /// <param name="webClientId">The oauth2 client id for the game. This is only /// needed if the ID Token or access token are needed.</param> /// <param name="appId">App identifier.</param> /// <param name="nearbySvcId">Optional nearby connection serviceId</param> /// <returns>true if successful</returns> public static bool PerformSetup(string webClientId, string appId, string nearbySvcId) { bool needTokenPermissions = false; if (!string.IsNullOrEmpty(webClientId)) { if (!GPGSUtil.LooksLikeValidClientId(webClientId)) { GPGSUtil.Alert(GPGSStrings.Setup.ClientIdError); return(false); } string serverAppId = webClientId.Split('-')[0]; if (!serverAppId.Equals(appId)) { GPGSUtil.Alert(GPGSStrings.Setup.AppIdMismatch); return(false); } needTokenPermissions = true; } else { needTokenPermissions = false; } // check for valid app id if (!GPGSUtil.LooksLikeValidAppId(appId) && string.IsNullOrEmpty(nearbySvcId)) { GPGSUtil.Alert(GPGSStrings.Setup.AppIdError); return(false); } if (nearbySvcId != null) { if (!NearbyConnectionUI.PerformSetup(nearbySvcId, true)) { return(false); } } GPGSProjectSettings.Instance.Set(GPGSUtil.APPIDKEY, appId); GPGSProjectSettings.Instance.Set(GPGSUtil.WEBCLIENTIDKEY, webClientId); GPGSProjectSettings.Instance.Save(); GPGSUtil.UpdateGameInfo(); // check that Android SDK is there if (!GPGSUtil.HasAndroidSdk()) { Debug.LogError("Android SDK not found."); EditorUtility.DisplayDialog( GPGSStrings.AndroidSetup.SdkNotFound, GPGSStrings.AndroidSetup.SdkNotFoundBlurb, GPGSStrings.Ok); return(false); } GPGSUtil.CopySupportLibs(); // Generate AndroidManifest.xml GPGSUtil.GenerateAndroidManifest(needTokenPermissions); // refresh assets, and we're done AssetDatabase.Refresh(); GPGSProjectSettings.Instance.Set(GPGSUtil.ANDROIDSETUPDONEKEY, true); GPGSProjectSettings.Instance.Save(); return(true); }