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(); }
/// <summary> /// Removes the library. /// </summary> /// <param name="library">Library type.</param> public static void RemoveLibrary(ISD_iOSLibrary library) { foreach (var item in ISD_Settings.Instance.Libraries) { if (item.Type == library) { ISD_Settings.Instance.Libraries.Remove(item); break; } } }
public static string stringValueOf(ISD_iOSLibrary value) { #if !UNITY_WSA FieldInfo fi = value.GetType().GetField(value.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attributes.Length > 0) { return(attributes[0].Description); } else { return(value.ToString()); } #else return(string.Empty); #endif }
//-------------------------------------- // Libraries //-------------------------------------- /// <summary> /// Adds a system library dependency. /// /// The function assumes system library are located in System/Library/Frameworks folder /// in the SDK source tree. The library is added to Frameworks logical folder in the project. /// </summary> /// <param name="library">The name of the library.</param> /// <param name="weak"><c>True</c> if the framework is optional (i.e. weakly linked), <c>false</c> if the framework is required.</param> public static void AddLibrary(ISD_iOSLibrary library, bool weak = false) { AddLibrary(new ISD_Library(library, weak)); }
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(); } }
public ISD_Library(ISD_iOSLibrary lib, bool optional = false) { Type = lib; IsOptional = optional; }