private void CopyFilestoXCodeBuildPhasee()
        {
            Texture2D folder = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "folder.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Copy Files to XCode Build Phasee", folder))) {
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Files,
                                                  (ISD_AssetFile file) => {
                    return(file.XCodeRelativePath);
                },
                                                  (ISD_AssetFile file) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Asset: ");
                    file.Asset = EditorGUILayout.ObjectField(file.Asset, typeof(UnityEngine.Object), false);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("XCode Path:");
                    file.XCodePath = EditorGUILayout.TextField(file.XCodePath);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISD_Settings.Instance.Files.Add(new ISD_AssetFile());
                }
                                                  );

                EditorGUILayout.Space();
            }
        }
        public override void OnInspectorGUI()
        {
            if (TestSuiteConfigSerialized == null)
            {
                return;
            }

            EditorGUI.BeginChangeCheck();

            EditorGUILayout.Space();


            SA_EditorGUILayout.ReorderablList(Config.TestGroups, GroupTitle, GroupContent, OnNewGroup, null, OnGorupStartUI);


            EditorGUILayout.Space();
            Config.PauseOnError          = SA_EditorGUILayout.ToggleFiled("Error Pause", Config.PauseOnError, SA_StyledToggle.ToggleType.YesNo);
            Config.SkipInteractableTests = SA_EditorGUILayout.ToggleFiled("Skip Interactable", Config.SkipInteractableTests, SA_StyledToggle.ToggleType.YesNo);


            if (EditorGUI.EndChangeCheck())
            {
                TestSuiteConfigSerialized.ApplyModifiedProperties();
                TestSuiteConfigSerialized = new SerializedObject(target);
            }


            EditorGUILayout.Space();
        }
Example #3
0
        protected override void OnServiceUI()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("Your license key"))) {
                EditorGUILayout.HelpBox("RSA public key will be used for app licensing. &  in-app billing purchases",
                                        MessageType.Info);

                EditorGUILayout.LabelField("Base64-encoded RSA public key");

                AN_Settings.Instance.RSAPublicKey = EditorGUILayout.TextArea(AN_Settings.Instance.RSAPublicKey, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(95));
                AN_Settings.Instance.RSAPublicKey.Trim();
            }

            using (new SA_WindowBlockWithSpace(new GUIContent("Licensing "))) {
                EditorGUILayout.HelpBox("Licensing allows you to prevent unauthorized distribution of your App.", MessageType.Info);
                AN_Settings.Instance.Licensing = SA_EditorGUILayout.ToggleFiled("API Status", AN_Settings.Instance.Licensing, SA_StyledToggle.ToggleType.EnabledDisabled);
            }

            using (new SA_WindowBlockWithSpace(new GUIContent("In-App Products List"))) {
                if (AN_Settings.Instance.InAppProducts.Count == 0)
                {
                    EditorGUILayout.HelpBox("Use this menu to specify in-app products available for your App.", MessageType.Info);
                }

                SA_EditorGUILayout.ReorderablList(AN_Settings.Instance.InAppProducts, GetProductDisplayName, DrawProductContent, () => {
                    var product   = new AN_Product("your.product.sku", AN_ProductType.inapp);
                    product.Title = "New Product";
                    AN_Settings.Instance.InAppProducts.Add(product);
                });
            }
        }
Example #4
0
        public void Languages()
        {
            EditorGUI.BeginChangeCheck();

            Texture2D languages_icon = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "languages.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Languages", languages_icon))) {
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Languages,
                                                  (SA_ISOLanguage lang) => {
                    return(lang.Code.ToUpper() + "     (" + lang.Name + ")");
                }
                                                  );

                EditorGUILayout.BeginHorizontal();
                s_newLangindex = EditorGUILayout.Popup(s_newLangindex, SA_LanguagesUtil.ISOLanguagesList.Names.ToArray());
                if (GUILayout.Button("Add Language", EditorStyles.miniButton, GUILayout.Width(100)))
                {
                    var lang = SA_LanguagesUtil.ISOLanguagesList.Languages[s_newLangindex];
                    ISD_Settings.Instance.Languages.Add(lang);
                }
                EditorGUILayout.EndHorizontal();
            }

            if (EditorGUI.EndChangeCheck())
            {
                if (ISD_Settings.Instance.Languages.Count == 0)
                {
                    ISD_API.RemoveInfoPlistKey(ISD_Settings.CF_LOCLIZATIONS_PLIST_KEY);
                }
            }
        }
Example #5
0
        public static void ShellScripts()
        {
            SA_EditorGUILayout.Header("Shell Scripts Build Phase");
            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.ShellScripts,

                                              (ISD_ShellScript script) => {
                return(script.Name);
            },
                                              (ISD_ShellScript script) => {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Name: ");
                script.Name = EditorGUILayout.TextField(script.Name);
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Shell: ");
                script.Shell = EditorGUILayout.TextField(script.Shell);
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Script");
                script.Script = EditorGUILayout.TextField(script.Script);
                EditorGUILayout.EndHorizontal();
            },
                                              () => {
                ISD_Settings.Instance.ShellScripts.Add(new ISD_ShellScript());
            }
                                              );
        }
Example #6
0
        public static void Flags()
        {
            SA_EditorGUILayout.Header("LINKER FLAGS");
            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Flags,
                                              (ISD_Flag flag) => {
                if (flag.Type.Equals(ISD_FlagType.CompilerFlag))
                {
                    return(flag.Name + "     (Compiler)");
                }
                else
                {
                    return(flag.Name + "     (Linker)");
                }
            },
                                              (ISD_Flag flag) => {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Full Name:", GUILayout.Width(100));
                flag.Name = EditorGUILayout.TextField(flag.Name, GUILayout.ExpandWidth(true));
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Type:", GUILayout.Width(100));
                //flag.Type	    = EditorGUILayout.TextField(flag.Type, GUILayout.ExpandWidth(true));
                flag.Type = (ISD_FlagType)EditorGUILayout.EnumPopup(flag.Type);
                EditorGUILayout.EndHorizontal();
            },
                                              () => {
                ISD_Flag newFlag = new ISD_Flag();
                newFlag.Name     = "New Flag";
                ISD_Settings.Instance.Flags.Add(newFlag);
            }
                                              );
        }
Example #7
0
        public static void Library()
        {
            SA_EditorGUILayout.Header("LIBRARIES");


            EditorGUILayout.BeginHorizontal();
            EditorGUI.indentLevel++;
            ISD_Settings.Instance.IsDefLibrariesOpen = EditorGUILayout.Foldout(ISD_Settings.Instance.IsDefLibrariesOpen, "Default Unity Libraries (2 Enabled)");
            EditorGUI.indentLevel--;
            EditorGUILayout.EndHorizontal();

            if (ISD_Settings.Instance.IsDefLibrariesOpen)
            {
                EditorGUILayout.BeginVertical(GUI.skin.box);

                SA_EditorGUILayout.SelectableLabel("libiPhone-lib.a", "");
                SA_EditorGUILayout.SelectableLabel("libiconv.2.dylib", "");

                EditorGUILayout.EndVertical();


                EditorGUILayout.Space();
            }
            EditorGUILayout.Space();
            SA_EditorGUILayout.HorizontalLine();


            EditorGUILayout.LabelField("Custom Libraries", EditorStyles.boldLabel);
            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Libraries,
                                              (ISD_Library lib) => {
                if (lib.IsOptional)
                {
                    return(lib.Name + "    (Optional)");
                }
                else
                {
                    return(lib.Name);
                }
            },
                                              (ISD_Library lib) => {
                lib.IsOptional = SA_EditorGUILayout.ToggleFiled("Optional", lib.IsOptional, SA_StyledToggle.ToggleType.YesNo);
            }
                                              );



            EditorGUILayout.BeginHorizontal();
            EditorStyles.popup.fixedHeight = 20;
            NewLibraryIndex = EditorGUILayout.Popup(NewLibraryIndex, ISD_LibHandler.BaseLibrariesArray());

            if (GUILayout.Button("Add Library", GUILayout.Height(20)))
            {
                ISD_iOSLibrary type = (ISD_iOSLibrary)ISD_LibHandler.enumValueOf(ISD_LibHandler.BaseLibrariesArray()[NewLibraryIndex]);
                NewLibraryIndex = 0;
                ISD_API.AddLibrary(type);
            }

            EditorGUILayout.EndHorizontal();
            SA_EditorGUILayout.HorizontalLine();
        }
Example #8
0
        private void ForceTouchItemsBlock()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("Force Touch Items"))) {
                SA_EditorGUILayout.ReorderablList(ISN_Settings.Instance.ShortcutItems,
                                                  (ISN_UIApplicationShortcutItem item) => {
                    return(item.Title);
                },
                                                  (ISN_UIApplicationShortcutItem item) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Title");
                    item.Title = EditorGUILayout.TextField(item.Title);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Subtitle");
                    item.Subtitle = EditorGUILayout.TextField(item.Subtitle);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Type");
                    item.Type = EditorGUILayout.TextField(item.Type);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISN_UIApplicationShortcutItem newItem = new ISN_UIApplicationShortcutItem(string.Empty);
                    newItem.Title = "New Item";
                    ISN_Settings.Instance.ShortcutItems.Add(newItem);
                });
            }
        }
Example #9
0
 public static void DrawAchievementsList()
 {
     SA_EditorGUILayout.ReorderablList(ISN_Settings.Instance.Achievements, GetAchievementDisplayName, DrawAchievementContent, () =>
     {
         ISN_Settings.Instance.Achievements.Add(new ISN_GKAchievement("my.new.achievement.id"));
     });
 }
        private void ShellScriptsBuildPhasee()
        {
            Texture2D plistVariables_icon = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "plistVariables.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Shell Scripts Build Phasee", plistVariables_icon))) {
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.ShellScripts,

                                                  (ISD_ShellScript script) => {
                    return(script.Name);
                },
                                                  (ISD_ShellScript script) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Name: ");
                    script.Name = EditorGUILayout.TextField(script.Name);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Shell: ");
                    script.Shell = EditorGUILayout.TextField(script.Shell);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Script");
                    script.Script = EditorGUILayout.TextField(script.Script);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISD_Settings.Instance.ShellScripts.Add(new ISD_ShellScript());
                }
                                                  );
                EditorGUILayout.Space();
            }
        }
        protected override void OnServiceUI()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("In-App Products List"))) {
                if (ISN_Settings.Instance.InAppProducts.Count == 0)
                {
                    EditorGUILayout.HelpBox("Use this menu to specify in-app products available for your App.", MessageType.Info);
                }

                SA_EditorGUILayout.ReorderablList(ISN_Settings.Instance.InAppProducts, GetProductDisplayName, DrawProductContent, () => {
                    ISN_Settings.Instance.InAppProducts.Add(new ISN_SKProduct());
                });
            }
        }
        protected override void OnServiceUI()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("Editor Testing"))) {
                EditorGUILayout.HelpBox("Spesifiy contacts book entries that will be used " +
                                        "while emulating API inside the editor.", MessageType.Info);

                SA_EditorGUILayout.ReorderablList(UM_Settings.Instance.EditorTestingContacts, GetContactDisplayName, DrawProductContent, () => {
                    string name  = "John Smith";
                    string phone = "1–800–854–3680";
                    string email = "*****@*****.**";

                    var contact = new UM_EditorContact(name, phone, email);
                    UM_Settings.Instance.EditorTestingContacts.Add(contact);
                });
            }
        }
Example #13
0
        public static void Capabilities()
        {
            SA_EditorGUILayout.Header("Capabilities");

            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Capabilities,
                                              (ISD_Capability c) => {
                return(c.CapabilityType.ToString());
            },
                                              (ISD_Capability c) => {
                switch (c.CapabilityType)
                {
                case ISD_CapabilityType.PushNotifications:
                    var settings         = ISD_Settings.Instance.PushNotificationsCapabilitySettings;
                    settings.Development = SA_EditorGUILayout.ToggleFiled("Development", settings.Development, SA_StyledToggle.ToggleType.YesNo);
                    break;

                case ISD_CapabilityType.Cloud:
                    var cloudSettings             = ISD_Settings.Instance.iCloudCapabilitySettings;
                    cloudSettings.KeyValueStorage = SA_EditorGUILayout.ToggleFiled("Key-value storage", cloudSettings.KeyValueStorage, SA_StyledToggle.ToggleType.EnabledDisabled);
                    cloudSettings.iCloudDocument  = SA_EditorGUILayout.ToggleFiled("iCloud Documents", cloudSettings.iCloudDocument, SA_StyledToggle.ToggleType.EnabledDisabled);

                    break;

                default:
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Entitlements File Path");
                    c.EntitlementsFilePath = EditorGUILayout.TextField(c.EntitlementsFilePath);
                    EditorGUILayout.EndHorizontal();

                    c.AddOptionalFramework = SA_EditorGUILayout.ToggleFiled("Add Optional Framework", c.AddOptionalFramework, SA_StyledToggle.ToggleType.YesNo);
                    break;
                }
            }
                                              );


            EditorGUILayout.BeginHorizontal();
            s_newCap = (ISD_CapabilityType)EditorGUILayout.EnumPopup(s_newCap);
            if (GUILayout.Button("Add Capability", GUILayout.Height(20)))
            {
                ISD_Capability c = new ISD_Capability();
                c.CapabilityType = s_newCap;
                ISD_Settings.Instance.Capabilities.Add(c);
            }
            EditorGUILayout.EndHorizontal();
        }
Example #14
0
 private static void DrawEmbededBlock()
 {
     SA_EditorGUILayout.Header("Embedded Frameworks");
     SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.EmbededFrameworks,
                                       (ISD_EmbedFramework framework) => {
         return(framework.FileName);
     },
                                       (ISD_EmbedFramework freamwork) => {
         EditorGUILayout.BeginHorizontal();
         EditorGUILayout.LabelField("Asset: ");
         freamwork.Asset = EditorGUILayout.ObjectField(freamwork.Asset, typeof(UnityEngine.Object), false);
         EditorGUILayout.EndHorizontal();
     },
                                       () => {
         ISD_Settings.Instance.EmbededFrameworks.Add(new ISD_EmbedFramework());
     }
                                       );
 }
Example #15
0
        public static void LanguageValues()
        {
            SA_EditorGUILayout.Header("Languages");

            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Languages,
                                              (SA_ISOLanguage lang) => {
                return(lang.Code.ToUpper() + "     (" + lang.Name + ")");
            }
                                              );

            EditorGUILayout.BeginHorizontal();
            s_newLangindex = EditorGUILayout.Popup(s_newLangindex, SA_LanguagesUtil.ISOLanguagesList.Names.ToArray());
            if (GUILayout.Button("Add Language", GUILayout.Height(20)))
            {
                var lang = SA_LanguagesUtil.ISOLanguagesList.Languages[s_newLangindex];
                ISD_Settings.Instance.Languages.Add(lang);
            }
            EditorGUILayout.EndHorizontal();
        }
Example #16
0
        private void UrlTypesSettings()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("URL Types"))) {
                SA_EditorGUILayout.ReorderablList(ISN_Settings.Instance.UrlTypes,
                                                  (ISN_UIUrlType url) => {
                    return(url.Identifier);
                },
                                                  (ISN_UIUrlType url) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Identifier");
                    url.Identifier = EditorGUILayout.TextField(url.Identifier);
                    EditorGUILayout.EndHorizontal();

                    for (int i = 0; i < url.Schemes.Count; i++)
                    {
                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField("Scheme " + i.ToString());
                        url.Schemes[i] = EditorGUILayout.TextField(url.Schemes[i]);

                        bool plus = GUILayout.Button("+", EditorStyles.miniButtonLeft, GUILayout.Width(20));
                        if (plus)
                        {
                            url.AddSchemes("url_sheme");
                        }

                        bool rem = GUILayout.Button("-", EditorStyles.miniButtonLeft, GUILayout.Width(20));
                        if (rem)
                        {
                            url.Schemes.Remove(url.Schemes[i]);
                            return;
                        }
                        EditorGUILayout.EndHorizontal();
                    }
                },
                                                  () => {
                    ISN_UIUrlType newUlr = new ISN_UIUrlType(Application.identifier);
                    newUlr.AddSchemes("url_sheme");
                    ISN_Settings.Instance.UrlTypes.Add(newUlr);
                });
            }
        }
        private static void DrawEmbeddedBlock()
        {
            Texture2D libraries_icon = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "libraries.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Embedded Binaries", libraries_icon))) {
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.EmbededFrameworks,
                                                  (ISD_EmbedFramework framework) => {
                    return(framework.FileName);
                },
                                                  (ISD_EmbedFramework freamwork) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Asset: ");
                    freamwork.Asset = EditorGUILayout.ObjectField(freamwork.Asset, typeof(UnityEngine.Object), false);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISD_Settings.Instance.EmbededFrameworks.Add(new ISD_EmbedFramework());
                }
                                                  );
            }
        }
        public void BuildFlags()
        {
            Texture2D linkerFlags = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "linkerFlags.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Linker & Compiler Flags", linkerFlags))) {
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Flags,
                                                  (ISD_Flag flag) => {
                    if (flag.Type.Equals(ISD_FlagType.CompilerFlag))
                    {
                        return(flag.Name + "     (Compiler)");
                    }
                    else
                    {
                        return(flag.Name + "     (Linker)");
                    }
                },
                                                  (ISD_Flag flag) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Full Name:", GUILayout.Width(100));
                    flag.Name = EditorGUILayout.TextField(flag.Name, GUILayout.ExpandWidth(true));
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Type:", GUILayout.Width(100));
                    //flag.Type     = EditorGUILayout.TextField(flag.Type, GUILayout.ExpandWidth(true));
                    flag.Type = (ISD_FlagType)EditorGUILayout.EnumPopup(flag.Type);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISD_Flag newFlag = new ISD_Flag();
                    newFlag.Name     = "New Flag";
                    ISD_Settings.Instance.Flags.Add(newFlag);
                }
                                                  );
            }

            EditorGUILayout.Space();
        }
Example #19
0
        public static void FilesSettings()
        {
            SA_EditorGUILayout.Header("Copy Files to Xcode Phase");
            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Files,
                                              (ISD_AssetFile file) => {
                return(file.XCodeRelativePath);
            },
                                              (ISD_AssetFile file) => {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Asset: ");
                file.Asset = EditorGUILayout.ObjectField(file.Asset, typeof(UnityEngine.Object), false);
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("XCode Path:");
                file.XCodePath = EditorGUILayout.TextField(file.XCodePath);
                EditorGUILayout.EndHorizontal();
            },
                                              () => {
                ISD_Settings.Instance.Files.Add(new ISD_AssetFile());
            }
                                              );
        }
Example #20
0
        protected override void OnServiceUI()
        {
            using (new SA_WindowBlockWithSpace(new GUIContent("Protecting the User's Privacy"))) {
                EditorGUILayout.HelpBox("Once you link with iOS 10 you must declare access to any user private data types. " +
                                        "Since by default Unity includes libraries that may access API user private data, " +
                                        "the app info.plist mus contains the key's spsifayed bellow. " +
                                        "How ever user will only see this message if you call API that requires private permission. " +
                                        "If you not using such API, you can leave it as is.", MessageType.Info);



                using (new SA_GuiBeginHorizontal()) {
                    GUILayout.FlexibleSpace();
                    bool click = m_privacyLink.DrawWithCalcSize();
                    if (click)
                    {
                        Application.OpenURL("https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy?language=objc");
                    }
                }

                ISN_Settings.Instance.CameraUsageDescriptionEnabled = SA_EditorGUILayout.ToggleFiled(CameraUsageDescription, ISN_Settings.Instance.CameraUsageDescriptionEnabled, SA_StyledToggle.ToggleType.EnabledDisabled);
                using (new SA_GuiEnable(ISN_Settings.Instance.CameraUsageDescriptionEnabled)) {
                    using (new SA_GuiIndentLevel(1)) {
                        ISN_Settings.Instance.CameraUsageDescription = EditorGUILayout.TextArea(ISN_Settings.Instance.CameraUsageDescription, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(30));
                    }
                }



                EditorGUILayout.Space();
                ISN_Settings.Instance.PhotoLibraryUsageDescriptionEnabled = SA_EditorGUILayout.ToggleFiled(PhotoLibraryUsageDescription, ISN_Settings.Instance.PhotoLibraryUsageDescriptionEnabled, SA_StyledToggle.ToggleType.EnabledDisabled);
                using (new SA_GuiEnable(ISN_Settings.Instance.PhotoLibraryUsageDescriptionEnabled)) {
                    using (new SA_GuiIndentLevel(1)) {
                        ISN_Settings.Instance.PhotoLibraryUsageDescription = EditorGUILayout.TextArea(ISN_Settings.Instance.PhotoLibraryUsageDescription, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(30));
                    }
                }



                EditorGUILayout.Space();
                ISN_Settings.Instance.PhotoLibraryAddUsageDescriptionEnabled = SA_EditorGUILayout.ToggleFiled(PhotoLibraryAddUsageDescription, ISN_Settings.Instance.PhotoLibraryAddUsageDescriptionEnabled, SA_StyledToggle.ToggleType.EnabledDisabled);
                using (new SA_GuiEnable(ISN_Settings.Instance.PhotoLibraryAddUsageDescriptionEnabled)) {
                    using (new SA_GuiIndentLevel(1)) {
                        ISN_Settings.Instance.PhotoLibraryAddUsageDescription = EditorGUILayout.TextArea(ISN_Settings.Instance.PhotoLibraryAddUsageDescription, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(30));
                    }
                }


                EditorGUILayout.Space();
                ISN_Settings.Instance.MicrophoneUsageDescriptionEnabled = SA_EditorGUILayout.ToggleFiled(MicrophoneUsageDescription, ISN_Settings.Instance.MicrophoneUsageDescriptionEnabled, SA_StyledToggle.ToggleType.EnabledDisabled);
                using (new SA_GuiEnable(ISN_Settings.Instance.MicrophoneUsageDescriptionEnabled)) {
                    using (new SA_GuiIndentLevel(1)) {
                        ISN_Settings.Instance.MicrophoneUsageDescription = EditorGUILayout.TextArea(ISN_Settings.Instance.MicrophoneUsageDescription, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(30));
                    }
                }
            }



            using (new SA_WindowBlockWithSpace(new GUIContent("Allowed schemes to query"))) {
                SA_EditorGUILayout.ReorderablList(ISN_Settings.Instance.ApplicationQueriesSchemes,
                                                  (ISN_UIUrlType scheme) => {
                    return(scheme.Identifier);
                },
                                                  (ISN_UIUrlType scheme) => {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Identifier");
                    scheme.Identifier = EditorGUILayout.TextField(scheme.Identifier);
                    EditorGUILayout.EndHorizontal();
                },
                                                  () => {
                    ISN_UIUrlType newUlr = new ISN_UIUrlType("url_sheme");
                    ISN_Settings.Instance.ApplicationQueriesSchemes.Add(newUlr);
                });
            }
        }
Example #21
0
 private void DrawLeaderboardsList()
 {
     SA_EditorGUILayout.ReorderablList(UM_Settings.Instance.GSLeaderboards, GetLeaderboardDisplayName, DrawLeaderboardContent, () => {
         UM_Settings.Instance.GSLeaderboards.Add(new UM_LeaderboardMeta("my.new.leaderboard.id", "New Leaderboard"));
     });
 }
Example #22
0
        public static void DrawSettingsUI()
        {
            // FB_Plugin.FacebookSdkVersion.Build

            using (new SA_WindowBlockWithSpace(new GUIContent("Facebook SDK"))) {
                if (SA_FB_InstallationProcessing.IsSDKInstalled)
                {
                    EditorGUILayout.HelpBox("Facebook SDK Installed!", MessageType.Info);
                }
                else
                {
                    EditorGUILayout.HelpBox("Facebook SDK Required!", MessageType.Warning);
                    using (new SA_GuiBeginHorizontal()) {
                        GUILayout.FlexibleSpace();
                        var click = GUILayout.Button("Download SDK", EditorStyles.miniButton, GUILayout.Width(120));
                        if (click)
                        {
                            Application.OpenURL(SDK_DOWNLOAD_URL);
                        }

                        var refreshClick = GUILayout.Button("Refresh", EditorStyles.miniButton, GUILayout.Width(120));
                        if (refreshClick)
                        {
                            SA_FB_InstallationProcessing.ProcessAssets();
                        }
                    }
                }
            }

            if (!SA_FB_InstallationProcessing.IsSDKInstalled)
            {
                return;
            }

            using (new SA_WindowBlockWithSpace(new GUIContent("SDK Settings"))) {
                if (m_facebookSettingsEditor == null)
                {
                    var facebookSettings = Resources.Load("FacebookSettings") as ScriptableObject;
                    if (facebookSettings != null)
                    {
                        m_facebookSettingsEditor = Editor.CreateEditor(facebookSettings);
                    }
                }

                if (m_facebookSettingsEditor == null)
                {
                    EditorGUILayout.HelpBox("Facebook Settings Resources can't be located! " +
                                            "Try to use Facebook plugin top menu in order to tirgger Settings Resources creation.",
                                            MessageType.Warning);
                    return;
                }

                EditorGUI.BeginChangeCheck();
                m_facebookSettingsEditor.OnInspectorGUI();
                if (EditorGUI.EndChangeCheck())
                {
                    SA_EditorUtility.SetDirty(m_facebookSettingsEditor.target);
                }
            }

            GUI.changed = false;
            using (new SA_WindowBlockWithSpace(new GUIContent("Scopes"))) {
                SA_EditorGUILayout.ReorderablList(SA_FB_Settings.Instance.Scopes, (item) => {
                    return(item);
                });

                using (new SA_GuiBeginHorizontal()) {
                    EditorGUILayout.LabelField("Add new scope: ");
                    newPermition = EditorGUILayout.TextField(newPermition);
                }


                using (new SA_GuiBeginHorizontal()) {
                    EditorGUILayout.Space();
                    if (GUILayout.Button("Documentation", GUILayout.Width(100)))
                    {
                        Application.OpenURL("https://developers.facebook.com/docs/facebook-login/permissions/v2.0");
                    }


                    if (GUILayout.Button("Add", GUILayout.Width(100)))
                    {
                        if (newPermition != string.Empty)
                        {
                            newPermition = newPermition.Trim();
                            if (!SA_FB_Settings.Instance.Scopes.Contains(newPermition))
                            {
                                SA_FB_Settings.Instance.Scopes.Add(newPermition);
                            }
                            newPermition = string.Empty;
                        }
                    }
                }


                if (GUI.changed)
                {
                    SA_FB_Settings.Save();
                }
            }
        }
        public void Frameworks()
        {
            Texture2D framework_icon = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "frameworks.png");

            using (new SA_WindowBlockWithIndent(new GUIContent("Frameworks", framework_icon))) {
                IsDefFrameworksOpen = EditorGUILayout.Foldout(IsDefFrameworksOpen, "Show Default Unity Frameworks (17 Enabled)");
                if (IsDefFrameworksOpen)
                {
                    int indentLevel = EditorGUI.indentLevel;
                    EditorGUI.indentLevel = 0;
                    using (new SA_GuiBeginHorizontal()) {
                        GUILayout.Space(30);

                        using (new SA_GuiBeginVertical(GUI.skin.box)) {
                            foreach (ISD_Framework framework in ISD_FrameworkHandler.DefaultFrameworks)
                            {
                                SA_EditorGUILayout.SelectableLabel(framework.Type.ToString() + ".framework", "");
                            }
                        }
                    }

                    EditorGUI.indentLevel = indentLevel;
                    EditorGUILayout.Space();
                }


                IsDefLibrariesOpen = EditorGUILayout.Foldout(IsDefLibrariesOpen, "Default Unity Libraries (2 Enabled)");
                if (IsDefLibrariesOpen)
                {
                    int indentLevel = EditorGUI.indentLevel;
                    EditorGUI.indentLevel = 0;
                    using (new SA_GuiBeginHorizontal()) {
                        GUILayout.Space(30);

                        using (new SA_GuiBeginVertical(GUI.skin.box)) {
                            SA_EditorGUILayout.SelectableLabel("libiPhone-lib.a", "");
                            SA_EditorGUILayout.SelectableLabel("libiconv.2.dylib", "");
                        }
                    }
                    EditorGUI.indentLevel = indentLevel;


                    EditorGUILayout.Space();
                }

                //Frameworks List
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Frameworks,
                                                  (ISD_Framework framework) => {
                    if (framework.IsOptional && framework.IsEmbeded)
                    {
                        return(framework.Name + "       (Optional & Embeded)");
                    }
                    else if (framework.IsOptional)
                    {
                        return(framework.Name + "        (Optional)");
                    }
                    else if (framework.IsEmbeded)
                    {
                        return(framework.Name + "        (Embeded)");
                    }
                    else
                    {
                        return(framework.Name);
                    }
                },
                                                  (ISD_Framework framework) => {
                    framework.IsOptional = SA_EditorGUILayout.ToggleFiled("Optional", framework.IsOptional, SA_StyledToggle.ToggleType.YesNo);
                    framework.IsEmbeded  = SA_EditorGUILayout.ToggleFiled("Embeded", framework.IsEmbeded, SA_StyledToggle.ToggleType.YesNo);
                }
                                                  );

                //Libraries List
                SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Libraries,
                                                  (ISD_Library lib) => {
                    if (lib.IsOptional)
                    {
                        return(lib.Name + "    (Optional)");
                    }
                    else
                    {
                        return(lib.Name);
                    }
                },
                                                  (ISD_Library lib) => {
                    lib.IsOptional = SA_EditorGUILayout.ToggleFiled("Optional", lib.IsOptional, SA_StyledToggle.ToggleType.YesNo);
                }
                                                  );



                //Add New Framework
                EditorGUILayout.BeginHorizontal();
                NewBaseFrameworkIndex = EditorGUILayout.Popup(NewBaseFrameworkIndex, ISD_FrameworkHandler.BaseFrameworksArray());

                if (GUILayout.Button("Add Framework", EditorStyles.miniButton, GUILayout.Width(100)))
                {
                    var type = ISD_FrameworkHandler.BaseFrameworksArray()[NewBaseFrameworkIndex];
                    NewBaseFrameworkIndex = 0;

                    ISD_Framework f = new ISD_Framework(type);
                    ISD_API.AddFramework(f);
                }
                EditorGUILayout.EndHorizontal();


                //Add New Library
                EditorGUILayout.BeginHorizontal();
                NewLibraryIndex = EditorGUILayout.Popup(NewLibraryIndex, ISD_LibHandler.BaseLibrariesArray());

                if (GUILayout.Button("Add Library", EditorStyles.miniButton, GUILayout.Width(100)))
                {
                    ISD_iOSLibrary type = (ISD_iOSLibrary)ISD_LibHandler.enumValueOf(ISD_LibHandler.BaseLibrariesArray()[NewLibraryIndex]);
                    NewLibraryIndex = 0;
                    ISD_API.AddLibrary(type);
                }

                EditorGUILayout.EndHorizontal();
            }
        }
Example #24
0
        public static void Frameworks()
        {
            SA_EditorGUILayout.Header("FRAMEWORKS");

            EditorGUILayout.BeginHorizontal();
            EditorGUI.indentLevel++;
            ISD_Settings.Instance.IsDefFrameworksOpen = EditorGUILayout.Foldout(ISD_Settings.Instance.IsDefFrameworksOpen, "Default Unity Frameworks (17 Enabled)");
            EditorGUI.indentLevel--;
            EditorGUILayout.EndHorizontal();

            if (ISD_Settings.Instance.IsDefFrameworksOpen)
            {
                EditorGUILayout.BeginVertical(GUI.skin.box);
                foreach (ISD_Framework framework in ISD_FrameworkHandler.DefaultFrameworks)
                {
                    SA_EditorGUILayout.SelectableLabel(framework.Type.ToString() + ".framework", "");
                }
                EditorGUILayout.EndVertical();
                EditorGUILayout.Space();
            }


            EditorGUILayout.Space();

            SA_EditorGUILayout.HorizontalLine();


            EditorGUILayout.LabelField("Custom IOS Frameworks", EditorStyles.boldLabel);
            SA_EditorGUILayout.ReorderablList(ISD_Settings.Instance.Frameworks,
                                              (ISD_Framework framework) => {
                if (framework.IsOptional && framework.IsEmbeded)
                {
                    return(framework.Name + "       (Optional & Embeded)");
                }
                else if (framework.IsOptional)
                {
                    return(framework.Name + "        (Optional)");
                }
                else if (framework.IsEmbeded)
                {
                    return(framework.Name + "        (Embeded)");
                }
                else
                {
                    return(framework.Name);
                }
            },
                                              (ISD_Framework framework) => {
                framework.IsOptional = SA_EditorGUILayout.ToggleFiled("Optional", framework.IsOptional, SA_StyledToggle.ToggleType.YesNo);
                framework.IsEmbeded  = SA_EditorGUILayout.ToggleFiled("Embeded", framework.IsEmbeded, SA_StyledToggle.ToggleType.YesNo);
            }
                                              );



            EditorGUILayout.BeginHorizontal();
            EditorStyles.popup.fixedHeight = 20;
            NewBaseFrameworkIndex          = EditorGUILayout.Popup(NewBaseFrameworkIndex, ISD_FrameworkHandler.BaseFrameworksArray());

            if (GUILayout.Button("Add Framework", GUILayout.Height(20)))
            {
                var type = ISD_FrameworkHandler.BaseFrameworksArray() [NewBaseFrameworkIndex];
                NewBaseFrameworkIndex = 0;

                ISD_Framework f = new ISD_Framework(type);
                ISD_API.AddFramework(f);
            }

            EditorGUILayout.EndHorizontal();



            SA_EditorGUILayout.HorizontalLine();


            DrawEmbededBlock();
        }