Exemple #1
0
        /// <summary>
        /// Generates the android manifest.
        /// </summary>
        /// <param name="needTokenPermissions">If set to <c>true</c> need token permissions.</param>
        public static void GenerateAndroidManifest(bool needTokenPermissions)
        {
            string destFilename = GPGSUtil.SlashesToPlatformSeparator(
                "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml");

            // Generate AndroidManifest.xml
            string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest");

            Dictionary <string, string> overrideValues =
                new Dictionary <string, string>();

            if (!needTokenPermissions)
            {
                overrideValues[TOKENPERMISSIONKEY]     = string.Empty;
                overrideValues[WEBCLIENTIDPLACEHOLDER] = string.Empty;
            }
            else
            {
                overrideValues[TOKENPERMISSIONKEY] = TokenPermissions;
            }

            foreach (KeyValuePair <string, string> ent in replacements)
            {
                string value =
                    GPGSProjectSettings.Instance.Get(ent.Value, overrideValues);
                manifestBody = manifestBody.Replace(ent.Key, value);
            }

            GPGSUtil.WriteFile(destFilename, manifestBody);
            GPGSUtil.UpdateGameInfo();
        }
Exemple #2
0
        /// <summary>
        /// Checks for the android manifest file exsistance.
        /// </summary>
        /// <returns><c>true</c>, if the file exists <c>false</c> otherwise.</returns>
        public static bool AndroidManifestExists()
        {
            string destFilename = GPGSUtil.SlashesToPlatformSeparator(
                "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml");

            return(File.Exists(destFilename));
        }
Exemple #3
0
        /// <summary>
        /// Generates the android manifest.
        /// </summary>
        public static void GenerateAndroidManifest()
        {
            string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath);

            // Generate AndroidManifest.xml
            string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest");

            Dictionary <string, string> overrideValues =
                new Dictionary <string, string>();

            if (!string.IsNullOrEmpty(GPGSProjectSettings.Instance.Get(SERVICEIDKEY)))
            {
                overrideValues [NEARBY_PERMISSIONS_PLACEHOLDER] =
                    "        <!-- Required for Nearby Connections -->\n" +
                    "        <uses-permission android:name=\"android.permission.BLUETOOTH\" />\n" +
                    "        <uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" />\n" +
                    "        <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\" />\n" +
                    "        <uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\" />\n" +
                    "        <uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />\n";
                overrideValues [SERVICEID_ELEMENT_PLACEHOLDER] =
                    "             <!-- Required for Nearby Connections API -->\n" +
                    "             <meta-data android:name=\"com.google.android.gms.nearby.connection.SERVICE_ID\"\n" +
                    "                  android:value=\"__NEARBY_SERVICE_ID__\" />\n";
            }
            else
            {
                overrideValues [NEARBY_PERMISSIONS_PLACEHOLDER] = "";
                overrideValues [SERVICEID_ELEMENT_PLACEHOLDER]  = "";
            }

            foreach (KeyValuePair <string, string> ent in replacements)
            {
                string value =
                    GPGSProjectSettings.Instance.Get(ent.Value, overrideValues);
                manifestBody = manifestBody.Replace(ent.Key, value);
            }
            GPGSUtil.WriteFile(destFilename, manifestBody);


            string idsBody = ReadFile(SlashesToPlatformSeparator(ResIdPath));

            destFilename = GPGSUtil.SlashesToPlatformSeparator(ResIdPath);
            foreach (KeyValuePair <string, string> ent in replacements)
            {
                string value =
                    GPGSProjectSettings.Instance.Get(ent.Value, overrideValues);
                idsBody = idsBody.Replace(ent.Key, value);
            }
            GPGSUtil.WriteFile(destFilename, idsBody);


            GPGSUtil.UpdateGameInfo();
            TabTale.PSDK.Social.Editor.PSDK_GPGSUtils.CompressMainLibProjToAAR();
        }
Exemple #4
0
        public static void MenuItemGooglePlayGamesAndroidSdk()
        {
            // check that Android SDK is there
            string sdkPath = GPGSUtil.GetAndroidSdkPath();

            if (!GPGSUtil.HasAndroidSdk())
            {
                EditorUtility.DisplayDialog(GPGSStrings.AndroidSetup.SdkNotFound,
                                            GPGSStrings.AndroidSetup.SdkNotFoundBlurb, GPGSStrings.Ok);
                return;
            }

            bool launch = EditorUtility.DisplayDialog(
                GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkTitle,
                GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkBlurb, GPGSStrings.Yes,
                GPGSStrings.No);

            if (launch)
            {
                string exeName =
                    sdkPath + GPGSUtil.SlashesToPlatformSeparator("/tools/android");
                string altExeName =
                    sdkPath + GPGSUtil.SlashesToPlatformSeparator("/tools/android.bat");

                EditorUtility.DisplayDialog(
                    GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkTitle,
                    GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkInstructions,
                    GPGSStrings.Ok);

                if (System.IO.File.Exists(exeName))
                {
                    System.Diagnostics.Process.Start(exeName);
                }
                else if (System.IO.File.Exists(altExeName))
                {
                    System.Diagnostics.Process.Start(altExeName);
                }
                else
                {
                    EditorUtility.DisplayDialog(
                        GPGSStrings.ExternalLinks.GooglePlayGamesSdkTitle,
                        GPGSStrings.ExternalLinks.GooglePlayGamesAndroidSdkManagerFailed,
                        GPGSStrings.Ok);
                }
            }
        }
        private GPGSProjectSettings()
        {
            mFile = GPGSUtil.SlashesToPlatformSeparator("ProjectSettings/GooglePlayGameSettings.txt");

            StreamReader rd = null;

            // read the settings file, this list is all the locations it can be in order of precedence.
            string[] fileLocations =
            {
                mFile,
                GPGSUtil.SlashesToPlatformSeparator(Path.Combine(GPGSUtil.RootPath,"Editor/projsettings.txt")),
                GPGSUtil.SlashesToPlatformSeparator("Assets/Editor/projsettings.txt")
            };

            foreach (string f in fileLocations)
            {
                if (File.Exists(f))
                {
                    // assign the reader and break out of the loop
                    rd = new StreamReader(f);
                    break;
                }
            }

            if (rd != null)
            {
                while (!rd.EndOfStream)
                {
                    string line = rd.ReadLine();
                    if (line == null || line.Trim().Length == 0)
                    {
                        break;
                    }

                    line = line.Trim();
                    string[] p = line.Split(new char[] { '=' }, 2);
                    if (p.Length >= 2)
                    {
                        mDict[p[0].Trim()] = p[1].Trim();
                    }
                }

                rd.Close();
            }
        }
Exemple #6
0
        /// <summary>
        /// Generates the android manifest.
        /// </summary>
        public static void GenerateAndroidManifest()
        {
            string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath);

            // Generate AndroidManifest.xml
            string manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest");

            Dictionary <string, string> overrideValues =
                new Dictionary <string, string>();

            foreach (KeyValuePair <string, string> ent in replacements)
            {
                string value =
                    GPGSProjectSettings.Instance.Get(ent.Value, overrideValues);
                manifestBody = manifestBody.Replace(ent.Key, value);
            }

            GPGSUtil.WriteFile(destFilename, manifestBody);
            GPGSUtil.UpdateGameInfo();
        }
        /// <summary>
        /// Generates the android manifest.
        /// </summary>
        public static void GenerateAndroidManifest()
        {
            var destFilename = GPGSUtil.SlashesToPlatformSeparator(
                "Assets/Plugins/Android/MainLibProj/AndroidManifest.xml");

            // Generate AndroidManifest.xml
            var manifestBody = GPGSUtil.ReadEditorTemplate("template-AndroidManifest");

            var overrideValues =
                new Dictionary <string, string>();

            foreach (var ent in replacements)
            {
                var value =
                    GPGSProjectSettings.Instance.Get(ent.Value, overrideValues);
                manifestBody = manifestBody.Replace(ent.Key, value);
            }

            GPGSUtil.WriteFile(destFilename, manifestBody);
            GPGSUtil.UpdateGameInfo();
        }
        /// <summary>
        /// Checks for the android manifest file exsistance.
        /// </summary>
        /// <returns><c>true</c>, if the file exists <c>false</c> otherwise.</returns>
        public static bool AndroidManifestExists()
        {
            string destFilename = GPGSUtil.SlashesToPlatformSeparator(ManifestPath);

            return(File.Exists(destFilename));
        }