private void Settings() { using (new SA_WindowBlockWithSpace(new GUIContent("Settings"))) { using (new SA_H2WindowBlockWithSpace(new GUIContent("ANDROID"))) { AN_Settings.Instance.GooglePlayGamesAPI = SA_EditorGUILayout.ToggleFiled(AN_GooglePlayFeaturesUI.GamesLabelContent, AN_Settings.Instance.GooglePlayGamesAPI, SA_StyledToggle.ToggleType.EnabledDisabled); UM_Settings.Instance.AndroidRequestEmail = SA_EditorGUILayout.ToggleFiled(s_AndoirdRequestEmailContent, UM_Settings.Instance.AndroidRequestEmail, SA_StyledToggle.ToggleType.EnabledDisabled); UM_Settings.Instance.AndroidRequestProfile = SA_EditorGUILayout.ToggleFiled(s_AndoirdRequestProfileContent, UM_Settings.Instance.AndroidRequestProfile, SA_StyledToggle.ToggleType.EnabledDisabled); UM_Settings.Instance.AndroidSavedGamesEnabled = SA_EditorGUILayout.ToggleFiled(s_AndoirdSavedGamesContent, UM_Settings.Instance.AndroidSavedGamesEnabled, SA_StyledToggle.ToggleType.EnabledDisabled); UM_Settings.Instance.AndroidRequestServerAuthCode = SA_EditorGUILayout.ToggleFiled(s_AndoirdRequestServerAuthCodeContent, UM_Settings.Instance.AndroidRequestServerAuthCode, SA_StyledToggle.ToggleType.EnabledDisabled); if (UM_Settings.Instance.AndroidRequestServerAuthCode) { UM_Settings.Instance.AndroidGMSServerId = SA_EditorGUILayout.TextField("Server Id", UM_Settings.Instance.AndroidGMSServerId); } } using (new SA_H2WindowBlockWithSpace(new GUIContent("iOS"))) { ISN_Settings.Instance.SavingAGame = SA_EditorGUILayout.ToggleFiled(s_IOSSavingAGameContent, ISN_Settings.Instance.SavingAGame, SA_StyledToggle.ToggleType.EnabledDisabled); } using (new SA_H2WindowBlockWithSpace(new GUIContent("EDITOR"))) { EditorGUILayout.HelpBox("Platform does not require any additional settings.", MessageType.Info); } } }
private void Settings() { Texture2D settings_icon = SA_EditorAssets.GetTextureAtPath(ISD_Skin.ICONS_PATH + "isdSettings.png"); using (new SA_WindowBlockWithIndent(new GUIContent("Settings", settings_icon))) { bool isEnabled = ISD_Settings.PostProcessEnabled; EditorGUI.BeginChangeCheck(); isEnabled = SA_EditorGUILayout.ToggleFiled("Build PostProcess", isEnabled, SA_StyledToggle.ToggleType.YesNo); if (EditorGUI.EndChangeCheck()) { EditorUtility.DisplayDialog("Configuration", "Changes will be applide after scripts re-recompilation is completed", "Okay"); if (isEnabled) { SA_EditorDefines.RemoveCompileDefine("ISD_DISABLED", BuildTargetGroup.iOS); } else { SA_EditorDefines.AddCompileDefine("ISD_DISABLED", BuildTargetGroup.iOS); } } if (!ISD_Settings.PostProcessEnabled) { EditorGUILayout.HelpBox("Build PostProcess is curreently disabled. " + "The XCode project will not be modifayed.", MessageType.Error); } } }
private void DrawICloudSettings() { using (new SA_WindowBlockWithSpace(new GUIContent("iCloud Key-Value Storage"))) { var description = new GUIContent("Key-value storage is similar to Unity PlayerPrefs; " + "but values that you place in key-value storage are available to every " + "instance of your app on all of a user’s various devices."); using (new SA_GuiBeginHorizontal()) { GUILayout.Space(15); EditorGUILayout.LabelField(description, SA_PluginSettingsWindowStyles.DescribtionLabelStyle); } EditorGUILayout.Space(); bool KeyValueStorageEnabled = ISD_API.Capability.iCloud.Enabled && ISD_API.Capability.iCloud.keyValueStorage; EditorGUI.BeginChangeCheck(); KeyValueStorageEnabled = SA_EditorGUILayout.ToggleFiled("API Status", KeyValueStorageEnabled, SA_StyledToggle.ToggleType.EnabledDisabled); if (EditorGUI.EndChangeCheck()) { if (KeyValueStorageEnabled) { ISD_API.Capability.iCloud.Enabled = true; ISD_API.Capability.iCloud.keyValueStorage = true; } else { ISD_API.Capability.iCloud.Enabled = false; ISD_API.Capability.iCloud.keyValueStorage = false; } } } }
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(); }
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); }); } }
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(); }
public override void OnGUI() { EditorGUI.BeginChangeCheck(); EditorGUILayout.Space(); EditorGUILayout.HelpBox(DESCRIBTION, MessageType.Info); using (new SA_WindowBlockWithIndent(new GUIContent("Settings"))) { m_state.DisplayCollapse = SA_EditorGUILayout.ToggleFiled("Collapse Button", m_state.DisplayCollapse, SA_StyledToggle.ToggleType.EnabledDisabled); m_state.DisplayClearOnPlay = SA_EditorGUILayout.ToggleFiled("Clear On Play Button", m_state.DisplayClearOnPlay, SA_StyledToggle.ToggleType.EnabledDisabled); m_state.DisplayPauseOnError = SA_EditorGUILayout.ToggleFiled("Error Pause Button", m_state.DisplayPauseOnError, SA_StyledToggle.ToggleType.EnabledDisabled); m_state.DisplaySearchBar = SA_EditorGUILayout.ToggleFiled("Search Bar", m_state.DisplaySearchBar, SA_StyledToggle.ToggleType.EnabledDisabled); m_state.RichText = SA_EditorGUILayout.ToggleFiled("Rich Text", m_state.RichText, SA_StyledToggle.ToggleType.EnabledDisabled); } using (new SA_WindowBlockWithIndent(new GUIContent("Tags"))) { EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); { ReorderableListGUI.ListField(UCL_Settings.Instance.Tags, (Rect position, UCL_ConsoleTag tag) => { position.x -= 15; int dockedToggleWidth = 40; Rect labelRect = new Rect(position); labelRect.width = position.width - dockedToggleWidth; EditorGUI.LabelField(labelRect, tag.DisaplyContent); Rect docedRect = new Rect(position); docedRect.x = labelRect.x + labelRect.width; docedRect.width = dockedToggleWidth; bool docked = m_state.IsTagDocked(tag); docked = EditorGUI.Toggle(docedRect, docked); m_state.SetTagDockedState(tag, docked); return(tag); }, () => { }, ReorderableListFlags.HideAddButton | ReorderableListFlags.HideRemoveButtons ); } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { UCL_Settings.SaveConsoleWindowState(m_state); } }
protected override void OnServiceUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Music Player Controller"))) { ISN_Settings.Instance.MediaLibraryUsageDescriptionEnabled = SA_EditorGUILayout.ToggleFiled("API State", ISN_Settings.Instance.MediaLibraryUsageDescriptionEnabled, SA_StyledToggle.ToggleType.EnabledDisabled); using (new SA_GuiEnable(ISN_Settings.Instance.MediaLibraryUsageDescriptionEnabled)) { EditorGUILayout.LabelField(MediaLibraryUsageDescription); using (new SA_GuiIndentLevel(1)) { ISN_Settings.Instance.MediaLibraryUsageDescription = EditorGUILayout.TextArea(ISN_Settings.Instance.MediaLibraryUsageDescription, SA_PluginSettingsWindowStyles.TextArea, GUILayout.Height(30)); } } } }
public static void OnGUI() { var unityClient = UM_Settings.Instance.Analytics.UnityClient; EditorGUILayout.HelpBox("Controls whether to limit user tracking at runtime.", MessageType.Info); unityClient.LimitUserTracking = SA_EditorGUILayout.ToggleFiled(s_limitUserTrackingLabel, unityClient.LimitUserTracking, SA_StyledToggle.ToggleType.YesNo); EditorGUILayout.Space(); EditorGUILayout.HelpBox("Controls whether the sending of device stats at runtime is enabled.", MessageType.Info); unityClient.DeviceStatsEnabled = SA_EditorGUILayout.ToggleFiled(s_deviceStatsEnabledLabel, unityClient.DeviceStatsEnabled, SA_StyledToggle.ToggleType.YesNo); }
public override void OnGUI() { EditorGUILayout.Space(); EditorGUILayout.HelpBox(DESCRIBTION, MessageType.Info); using (new SA_WindowBlockWithIndent(new GUIContent("iOS"))) { UCL_PlatfromsLogSettings.Instance.iOS_LogsRecord = SA_EditorGUILayout.ToggleFiled("Logs Record", UCL_PlatfromsLogSettings.Instance.iOS_LogsRecord, SA_StyledToggle.ToggleType.EnabledDisabled); UCL_PlatfromsLogSettings.Instance.iOS_OverrideLogsOutput = SA_EditorGUILayout.ToggleFiled("Override XCode Output", UCL_PlatfromsLogSettings.Instance.iOS_OverrideLogsOutput, SA_StyledToggle.ToggleType.EnabledDisabled); } using (new SA_WindowBlockWithIndent(new GUIContent("Android"))) { UCL_PlatfromsLogSettings.Instance.Android_LogsRecord = SA_EditorGUILayout.ToggleFiled("Logs Record", UCL_PlatfromsLogSettings.Instance.Android_LogsRecord, SA_StyledToggle.ToggleType.EnabledDisabled); UCL_PlatfromsLogSettings.Instance.Android_OverrideLogsOutput = SA_EditorGUILayout.ToggleFiled("Override LogCat Output", UCL_PlatfromsLogSettings.Instance.Android_OverrideLogsOutput, SA_StyledToggle.ToggleType.EnabledDisabled); } }
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(); }
private void DrawProductContent(AN_Product product) { product.ProductId = SA_EditorGUILayout.TextField(ProductIdDLabel, product.ProductId); product.Title = SA_EditorGUILayout.TextField(DisplayNameLabel, product.Title); product.Type = (AN_ProductType)SA_EditorGUILayout.EnumPopup(ProductType, product.Type); product.IsConsumable = SA_EditorGUILayout.ToggleFiled(ConsumableLabel, product.IsConsumable, SA_StyledToggle.ToggleType.YesNo); product.Price = SA_EditorGUILayout.TextField(PriceLabel, product.Price); EditorGUILayout.LabelField(DescriptionLabel); using (new SA_GuiBeginHorizontal()) { product.Description = EditorGUILayout.TextArea(product.Description, GUILayout.Height(60), GUILayout.MinWidth(190)); EditorGUILayout.Space(); product.Icon = (Texture2D)EditorGUILayout.ObjectField("", product.Icon, typeof(Texture2D), false, GUILayout.Width(75)); } }
protected override void OnServiceUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Runtime Permissions"))) { EditorGUILayout.HelpBox("Every Android app runs in a limited-access sandbox." + "If an app needs to use resources or information outside of its own sandbox, " + "the app has to request the appropriate permission.", MessageType.Info); AN_Settings.Instance.SkipPermissionsDialog = SA_EditorGUILayout.ToggleFiled("Startup Permissions Dialog", AN_Settings.Instance.SkipPermissionsDialog, SA_StyledToggle.ToggleType.YesNo); } using (new SA_WindowBlockWithSpace(new GUIContent("Media Player"))) { EditorGUILayout.HelpBox("Media Player can be used to control playback of audio/video files and streams.", MessageType.Info); AN_Settings.Instance.MediaPlayer = SA_EditorGUILayout.ToggleFiled("API State", AN_Settings.Instance.MediaPlayer, SA_StyledToggle.ToggleType.EnabledDisabled); } }
protected override void OnServiceUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Achievement"))) { if (ISN_Settings.Instance.Achievements.Count == 0) { EditorGUILayout.HelpBox("Use this menu to list your game achievements. " + "This step is not required, and only designed for your" + "convinience, in case you are making custom in-game achievements view.", MessageType.Info); } DrawAchievementsList(); } using (new SA_WindowBlockWithSpace(new GUIContent("Saving A Game"))) { EditorGUILayout.HelpBox("The saves API will allow you to provide your player an ability to save & load " + "game progress at any time.", MessageType.Info); ISN_Settings.Instance.SavingAGame = SA_EditorGUILayout.ToggleFiled("API State", ISN_Settings.Instance.SavingAGame, SA_StyledToggle.ToggleType.EnabledDisabled); } }
protected override void OnServiceUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Local Notifications"))) { ReorderableListGUI.Title("Custom Sounds"); ReorderableListGUI.ListField(ISN_EditorSettings.Instance.NotificationAlertSounds, DrawObjectField, DrawEmptySounds); UpdateDeploySettings(); } using (new SA_WindowBlockWithSpace(new GUIContent("Apple Push Notification Service"))) { using (new SA_GuiBeginHorizontal()) { GUILayout.Space(15); EditorGUILayout.LabelField(m_APN_Description, SA_PluginSettingsWindowStyles.DescribtionLabelStyle); } EditorGUILayout.Space(); using (new SA_GuiIndentLevel(1)) { ISD_API.Capability.PushNotifications.Enabled = SA_EditorGUILayout.ToggleFiled("API Status", ISD_API.Capability.PushNotifications.Enabled, SA_StyledToggle.ToggleType.EnabledDisabled); ISD_API.Capability.PushNotifications.development = SA_EditorGUILayout.ToggleFiled("Development Environment", ISD_API.Capability.PushNotifications.development, SA_StyledToggle.ToggleType.EnabledDisabled); } } }
public static void OnGUI() { EditorGUILayout.HelpBox("Unity Monetization SDK Installed.", MessageType.Info); using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var example = GUILayout.Button("Example", EditorStyles.miniButton, GUILayout.Width(80)); if (example) { FillExampleSettings(); } var click = GUILayout.Button("Dashboard", EditorStyles.miniButton, GUILayout.Width(80)); if (click) { Application.OpenURL("https://operate.dashboard.unity3d.com/"); } } var settins = UM_UnityAdsSettings.Instance; using (new SA_H2WindowBlockWithSpace(new GUIContent("IOS"))) { UM_AdvertisementUI.DrawPlatfromIds(settins.IOSIds); } using (new SA_H2WindowBlockWithSpace(new GUIContent("ANDROID"))) { UM_AdvertisementUI.DrawPlatfromIds(settins.AndroidIds); } using (new SA_H2WindowBlockWithSpace(new GUIContent("SETTINGS"))) { settins.TestMode = SA_EditorGUILayout.ToggleFiled("Test Mode", settins.TestMode, SA_StyledToggle.ToggleType.YesNo); } }
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(); }
public static void DrawPlistVariable(ISD_PlistKey plistKey, object valuePointer, IList valueOrigin) { EditorGUILayout.BeginHorizontal(); if (plistKey.Name.Length > 0) { plistKey.IsOpen = EditorGUILayout.Foldout(plistKey.IsOpen, plistKey.Name + " (" + plistKey.Type.ToString() + ")"); } else { plistKey.IsOpen = EditorGUILayout.Foldout(plistKey.IsOpen, plistKey.Type.ToString()); } bool ItemWasRemoved = SrotingButtons(valuePointer, valueOrigin); if (ItemWasRemoved) { ISD_Settings.Instance.RemoveVariable(plistKey, valueOrigin); return; } EditorGUILayout.EndHorizontal(); if (plistKey.IsOpen) { EditorGUI.indentLevel++; { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Type"); if (plistKey.ChildrensIds.Count > 0) { GUI.enabled = false; plistKey.Type = (ISD_PlistKeyType)EditorGUILayout.EnumPopup(plistKey.Type); } else { plistKey.Type = (ISD_PlistKeyType)EditorGUILayout.EnumPopup(plistKey.Type); } EditorGUILayout.EndHorizontal(); if (plistKey.Type == ISD_PlistKeyType.Array) { DrawArrayValues(plistKey); } else if (plistKey.Type == ISD_PlistKeyType.Dictionary) { DrawDictionaryValues(plistKey); } else if (plistKey.Type == ISD_PlistKeyType.Boolean) { plistKey.BooleanValue = SA_EditorGUILayout.ToggleFiled("Value", plistKey.BooleanValue, SA_StyledToggle.ToggleType.YesNo); } else { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Value"); switch (plistKey.Type) { case ISD_PlistKeyType.Integer: plistKey.IntegerValue = EditorGUILayout.IntField(plistKey.IntegerValue); break; case ISD_PlistKeyType.String: plistKey.StringValue = EditorGUILayout.TextField(plistKey.StringValue); break; } EditorGUILayout.EndHorizontal(); } } EditorGUI.indentLevel--; } }
public void OnGUI() { var settins = UM_GoogleAdsSettings.Instance; using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var example = GUILayout.Button("Example", EditorStyles.miniButton, GUILayout.Width(80)); if (example) { FillExampleSettings(); } var click = GUILayout.Button("Dashboard", EditorStyles.miniButton, GUILayout.Width(80)); if (click) { Application.OpenURL("https://apps.admob.com/"); } } using (new SA_H2WindowBlockWithSpace(new GUIContent("IOS"))) { UM_AdvertisementUI.DrawPlatformIds(settins.IOSIds); } using (new SA_H2WindowBlockWithSpace(new GUIContent("ANDROID"))) { if (string.IsNullOrEmpty(settins.AndroidIds.AppId)) { EditorGUILayout.HelpBox("Application id MUST be provided on Android platform before you make a build. " + "Empty Application id may result in app crash on launch.", MessageType.Error); } UM_AdvertisementUI.DrawPlatformIds(settins.AndroidIds); } using (new SA_H2WindowBlockWithSpace(new GUIContent("SETTINGS"))) { #if SA_ADMOB_INSTALLED settins.BannerSize = (UM_GoogleBannerSize)SA_EditorGUILayout.EnumPopup("Banner Size", settins.BannerSize); settins.BannerPosition = (AdPosition)SA_EditorGUILayout.EnumPopup("Banner Position", settins.BannerPosition); #endif settins.NPA = SA_EditorGUILayout.ToggleFiled("Non-Personalized Ads", settins.TagForChildDirectedTreatment, SA_StyledToggle.ToggleType.YesNo); settins.TagForChildDirectedTreatment = SA_EditorGUILayout.ToggleFiled("Tag For Child Directed Treatment", settins.TagForChildDirectedTreatment, SA_StyledToggle.ToggleType.YesNo); ReorderableListGUI.Title("Test Devices"); ReorderableListGUI.ListField(settins.TestDevices, DrawTextFiled, () => { EditorGUILayout.LabelField("Configure your device as a test device."); }); EditorGUILayout.Space(); ReorderableListGUI.Title("Keywords"); ReorderableListGUI.ListField(settins.Keywords, DrawTextFiled, () => { EditorGUILayout.LabelField("Provide keywords to admob so the ads can be targeted."); }); EditorGUILayout.Space(); } if (GUI.changed) { UM_GoogleAdsSettings.Save(); } }
protected override void OnServiceUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Configuration"))) { string setResourceName = "Update Game Resource"; if (AN_GoolgePlayRersources.GamesIds == null) { EditorGUILayout.HelpBox("Before you start using Google Play API with the plugin" + "You must first configure your game in the Google Play Developer Console, " + "and then define google play resources using the plugin.", MessageType.Warning); using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); bool click = m_configureYourGameLink.DrawWithCalcSize(); if (click) { Application.OpenURL("https://unionassets.com/android-native-pro/getting-started-670"); } } setResourceName = "Set Game Resource"; } else { string applicationIdentifier = PlayerSettings.GetApplicationIdentifier(BuildTargetGroup.Android); if (!applicationIdentifier.Equals(AN_GoolgePlayRersources.GamesIds.PackageName)) { EditorGUILayout.HelpBox("Player Settings Package Name does not match with " + "Android Games Package Name \n" + "unity: " + applicationIdentifier + "\n" + "games-ids.xml: " + AN_GoolgePlayRersources.GamesIds.PackageName, MessageType.Warning); } using (new SA_GuiBeginVertical(EditorStyles.helpBox)) { SA_EditorGUILayout.SelectableLabel("App Id", AN_GoolgePlayRersources.GamesIds.AppId); SA_EditorGUILayout.SelectableLabel("Package Name", AN_GoolgePlayRersources.GamesIds.PackageName); m_achievmentsShown = EditorGUILayout.Foldout(m_achievmentsShown, "Achievments"); if (m_achievmentsShown) { if (AN_GoolgePlayRersources.GamesIds.Achievements.Count > 0) { AN_GoolgePlayRersources.GamesIds.Achievements.ForEach(pair => { SA_EditorGUILayout.SelectableLabel(pair.Key, pair.Value); }); } else { EditorGUILayout.LabelField("There are no achievments in games-ids.xml"); } } m_leaderboardsShown = EditorGUILayout.Foldout(m_leaderboardsShown, "Leaderboards"); if (m_leaderboardsShown) { if (AN_GoolgePlayRersources.GamesIds.Leaderboards.Count > 0) { AN_GoolgePlayRersources.GamesIds.Leaderboards.ForEach(pair => { SA_EditorGUILayout.SelectableLabel(pair.Key, pair.Value); }); } else { EditorGUILayout.LabelField("There are no leaderboards in games-ids.xml"); } } } } using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); m_setResource.Content.text = setResourceName; bool click = m_setResource.DrawWithCalcSize(); if (click) { AN_GoolgePlayRersourcesWindow.ShowModal(); } } } using (new SA_WindowBlockWithSpace(new GUIContent("Google Mobile Services APIs"))) { EditorGUILayout.HelpBox("In order to access Google Play games services functionality, " + "your game needs to provide the signed-in player’s account. If the player is not authenticated, " + "your game may encounter errors when making calls to the Google Play games services APIs.", MessageType.Info); using (new SA_GuiBeginHorizontal()) { EditorGUILayout.LabelField(SingInLabelContent); using (new SA_GuiEnable(false)) { SA_EditorGUILayout.ToggleFiled(new GUIContent(), true, SA_StyledToggle.ToggleType.EnabledDisabled); } } AN_Settings.Instance.GooglePlayGamesAPI = SA_EditorGUILayout.ToggleFiled(GamesLabelContent, AN_Settings.Instance.GooglePlayGamesAPI, SA_StyledToggle.ToggleType.EnabledDisabled); } }
public override void OnLayoutEnable() { base.OnLayoutEnable(); ISD_CapabilityLayout layout; m_CapabilitiesLayout = new List <ISD_CapabilityLayout>(); //iCloud layout = new ISD_CapabilityLayout("iCloud", "cloud.png", () => { return(ISD_Settings.Instance.Capability.iCloud); }, () => { using (new SA_GuiHorizontalSpace(16)) { var cloud = ISD_Settings.Instance.Capability.iCloud; cloud.keyValueStorage = SA_EditorGUILayout.ToggleFiled("Key Value Storage", cloud.keyValueStorage, SA_StyledToggle.ToggleType.EnabledDisabled); cloud.iCloudDocument = SA_EditorGUILayout.ToggleFiled("iCloud Document", cloud.iCloudDocument, SA_StyledToggle.ToggleType.EnabledDisabled); ReorderableListGUI.Title("Custom Containers"); ReorderableListGUI.ListField(cloud.customContainers, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any custom containers yet."); }); } }); m_CapabilitiesLayout.Add(layout); //Push Notifications layout = new ISD_CapabilityLayout("Push Notifications", "push.png", () => { return(ISD_Settings.Instance.Capability.PushNotifications); }, () => { using (new SA_GuiHorizontalSpace(16)) { var pushNotifications = ISD_Settings.Instance.Capability.PushNotifications; pushNotifications.development = SA_EditorGUILayout.ToggleFiled("Development", pushNotifications.development, SA_StyledToggle.ToggleType.YesNo); } }); m_CapabilitiesLayout.Add(layout); //Game Center layout = new ISD_CapabilityLayout("Game Center", "game.png", () => { return(ISD_Settings.Instance.Capability.GameCenter); }, () => { }); m_CapabilitiesLayout.Add(layout); //Game Center layout = new ISD_CapabilityLayout("Sign In With Apple", "keychaine.png", () => { return(ISD_Settings.Instance.Capability.SignInWithApple); }, () => { }); m_CapabilitiesLayout.Add(layout); //Wallet layout = new ISD_CapabilityLayout("Wallet", "wallet.png", () => { return(ISD_Settings.Instance.Capability.Wallet); }, () => { var wallet = ISD_Settings.Instance.Capability.Wallet; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Pass Subset"); ReorderableListGUI.ListField(wallet.passSubset, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any pass subset."); }); } } }); m_CapabilitiesLayout.Add(layout); //Siri layout = new ISD_CapabilityLayout("Siri", "siri.png", () => { return(ISD_Settings.Instance.Capability.Siri); }, () => { }); m_CapabilitiesLayout.Add(layout); //ApplePay layout = new ISD_CapabilityLayout("Apple Pay", "pay.png", () => { return(ISD_Settings.Instance.Capability.ApplePay); }, () => { var applePay = ISD_Settings.Instance.Capability.ApplePay; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Merchants"); ReorderableListGUI.ListField(applePay.merchants, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any merchants yet."); }); } } }); m_CapabilitiesLayout.Add(layout); //InAppPurchase layout = new ISD_CapabilityLayout("In-App Purchase", "purchase.png", () => { return(ISD_Settings.Instance.Capability.InAppPurchase); }, () => { }); m_CapabilitiesLayout.Add(layout); //Maps layout = new ISD_CapabilityLayout("Maps", "maps.png", () => { return(ISD_Settings.Instance.Capability.Maps); }, () => { var maps = ISD_Settings.Instance.Capability.Maps; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Options"); ReorderableListGUI.ListField(maps.options, (Rect position, ISD_CapabilitySettings.MapsCapability.MapsOptions itemValue) => { return((ISD_CapabilitySettings.MapsCapability.MapsOptions)EditorGUI.EnumPopup(position, itemValue)); }, () => { GUILayout.Label("Set maps capability options."); }); } } }); m_CapabilitiesLayout.Add(layout); //PersonalVPN layout = new ISD_CapabilityLayout("Personal VPN", "vpn.png", () => { return(ISD_Settings.Instance.Capability.PersonalVPN); }, () => { }); m_CapabilitiesLayout.Add(layout); //BackgroundModes layout = new ISD_CapabilityLayout("Background Modes", "back.png", () => { return(ISD_Settings.Instance.Capability.BackgroundModes); }, () => { var backgroundModes = ISD_Settings.Instance.Capability.BackgroundModes; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Options"); ReorderableListGUI.ListField(backgroundModes.options, (Rect position, ISD_CapabilitySettings.BackgroundModesCapability.BackgroundModesOptions itemValue) => { return((ISD_CapabilitySettings.BackgroundModesCapability.BackgroundModesOptions)EditorGUI.EnumPopup(position, itemValue)); }, () => { GUILayout.Label("Set background modes capability options."); }); } } }); m_CapabilitiesLayout.Add(layout); //InterAppAudio layout = new ISD_CapabilityLayout("Inter-App Audio", "inter.png", () => { return(ISD_Settings.Instance.Capability.InterAppAudio); }, () => { }); m_CapabilitiesLayout.Add(layout); //KeychainSharing layout = new ISD_CapabilityLayout("Keychain Sharing", "keychaine.png", () => { return(ISD_Settings.Instance.Capability.KeychainSharing); }, () => { var keychainSharing = ISD_Settings.Instance.Capability.KeychainSharing; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Access Groups"); ReorderableListGUI.ListField(keychainSharing.accessGroups, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any access groups yet."); }); } } }); m_CapabilitiesLayout.Add(layout); //AssociatedDomains layout = new ISD_CapabilityLayout("Associated Domains", "associated.png", () => { return(ISD_Settings.Instance.Capability.AssociatedDomains); }, () => { var associatedDomains = ISD_Settings.Instance.Capability.AssociatedDomains; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Associated Domains"); ReorderableListGUI.ListField(associatedDomains.domains, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any domains yet."); }); } } }); m_CapabilitiesLayout.Add(layout); //AssociatedDomains layout = new ISD_CapabilityLayout("App Groups", "app.png", () => { return(ISD_Settings.Instance.Capability.AppGroups); }, () => { var appGroups = ISD_Settings.Instance.Capability.AppGroups; using (new SA_GuiBeginHorizontal()) { GUILayout.Space(16); using (new SA_GuiBeginVertical()) { ReorderableListGUI.Title("Groups"); ReorderableListGUI.ListField(appGroups.groups, (Rect position, string itemValue) => { return(EditorGUI.TextField(position, itemValue)); }, () => { GUILayout.Label("You haven't added any groups yet."); }); } } }); m_CapabilitiesLayout.Add(layout); //InterAppAudio layout = new ISD_CapabilityLayout("Data Protection", "data.png", () => { return(ISD_Settings.Instance.Capability.DataProtection); }, () => { }); m_CapabilitiesLayout.Add(layout); //InterAppAudio layout = new ISD_CapabilityLayout("HomeKit", "homekit.png", () => { return(ISD_Settings.Instance.Capability.HomeKit); }, () => { }); m_CapabilitiesLayout.Add(layout); //InterAppAudio layout = new ISD_CapabilityLayout("HealthKit", "healhtkit.png", () => { return(ISD_Settings.Instance.Capability.HealthKit); }, () => { }); m_CapabilitiesLayout.Add(layout); //InterAppAudio layout = new ISD_CapabilityLayout("Wireless Accessory Configuration", "wirelless.png", () => { return(ISD_Settings.Instance.Capability.WirelessAccessoryConfiguration); }, () => { }); m_CapabilitiesLayout.Add(layout); }
public override void OnGUI() { using (new SA_WindowBlockWithSpace(new GUIContent("Log Level"))) { EditorGUILayout.HelpBox("We recommend you to keep full logging level while your project in development mode. " + "Full communication logs between Native plugin part & " + "Unity side will be only available with Info logging level enabled. \n" + "Disabling the error logs isn't recommended.", MessageType.Info); using (new SA_GuiBeginHorizontal()) { var logLevel = AN_Settings.Instance.LogLevel; logLevel.Info = GUILayout.Toggle(logLevel.Info, Info, GUILayout.Width(80)); logLevel.Warning = GUILayout.Toggle(logLevel.Warning, Warnings, GUILayout.Width(100)); logLevel.Error = GUILayout.Toggle(logLevel.Error, Errors, GUILayout.Width(100)); } EditorGUILayout.Space(); EditorGUILayout.HelpBox("On some Android devices, Log.d or Log.e methods will not print anything to console," + "so sometimes the only ability to see the logs is to enable the WTF printing. This will make all" + "logs to be printed with Log.wtf method despite message log level.", MessageType.Info); AN_Settings.Instance.WTFLogging = GUILayout.Toggle(AN_Settings.Instance.WTFLogging, "WTF Logging", GUILayout.Width(130)); } using (new SA_WindowBlockWithSpace(new GUIContent("Environment Management"))) { EditorGUILayout.HelpBox("The Android Native plugin will alter manifest " + "automatically for your convenience. But in case you want to do it manually, " + "you may un-toggle the checkbox below \n" + "The plugin manifest is located under: " + AN_Settings.ANDROID_CORE_LIB_PATH, MessageType.Info); AN_Settings.Instance.ManifestManagement = SA_EditorGUILayout.ToggleFiled("Auto Manifest Management", AN_Settings.Instance.ManifestManagement, SA_StyledToggle.ToggleType.EnabledDisabled); EditorGUILayout.Space(); EditorGUILayout.HelpBox("The Android Resolver plugin will download and integrate Android library dependencies " + "and handle any conflicts between plugins that share the same dependencies. \n" + "The Resolver is an additional third-party plugin. You need to download, install and configure it" + "Before Android Native will able to rely on this plugin and disable internal libraries.", MessageType.Info); using (new SA_GuiBeginHorizontal()) { GUILayout.Label(UnityJarResolverText, GUILayout.MaxWidth(120)); if (AN_Settings.Instance.UseUnityJarResolver) { if (AN_Settings.Instance.UnityJarResolverVersion != null && AN_Settings.Instance.UnityJarResolverVersion.Length > 0) { UnityJarResolverState = new GUIContent("version " + AN_Settings.Instance.UnityJarResolverVersion, "Version of current Jar Resolver."); } else { UnityJarResolverState = new GUIContent("Enabled"); } } else { UnityJarResolverState = new GUIContent("Disabled"); } GUILayout.Label(UnityJarResolverState, GUILayout.MaxWidth(100)); GUILayout.FlexibleSpace(); GUIContent restartResolveContent = new GUIContent(" Restart Resolver", SA_Skin.GetGenericIcon("refresh.png")); var pressed = GUILayout.Button(restartResolveContent, new GUILayoutOption[2] { GUILayout.Width(140), GUILayout.Height(15) }); if (pressed) { AN_ResolveManager.ProcessAssets(); GUIUtility.ExitGUI(); } } using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var click = m_JarResolverLink.DrawWithCalcSize(); if (click) { Application.OpenURL(JAR_RESOLVER_DOC_LINK); } } } using (new SA_WindowBlockWithSpace("Storage")) { EditorGUILayout.HelpBox("When plugin needs to have a valid URI for an image, " + "it can be saved using the Internal or External storage. " + "In case saving attempt is failed, an alternative option will be used. " + "You can define if Internal or External storage should be a preferred option.", MessageType.Info); AN_Settings.Instance.PreferredImagesStorage = (AN_Settings.StorageType)SA_EditorGUILayout.EnumPopup("Preferred Images Storage", AN_Settings.Instance.PreferredImagesStorage); using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var click = m_StorageOptionsLink.DrawWithCalcSize(); if (click) { Application.OpenURL(STORAGE_OPTIONS_DOC_LINK); } } } using (new SA_WindowBlockWithSpace("Debug")) { EditorGUILayout.HelpBox("API Resolver's are normally launched with build pre-process stage", MessageType.Info); var pressed = GUILayout.Button("Start API Resolvers"); if (pressed) { SA_PluginsEditor.DisableLibstAtPath(AN_Settings.ANDROID_FOLDER_DISABLED); AN_Preprocessor.Resolve(); GUIUtility.ExitGUI(); } EditorGUILayout.HelpBox("Action will reset all of the plugin settings to default.", MessageType.Info); pressed = GUILayout.Button("Reset To Defaults"); if (pressed) { AN_Settings.Delete(); AN_Preprocessor.Resolve(); } } }
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); }); } }
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(); } }