/// <summary> /// Draws the ios settings. /// </summary> public void DrawSetting(SerializedObject serializedObject) { var settings = serializedObject.FindProperty("iosSettings"); using (new EditorGUIEx.GroupScope("iOS Settings")) { // XCode Project. EditorGUILayout.LabelField("XCode Project", EditorStyles.boldLabel); EditorGUI.indentLevel++; { EditorGUIEx.TextFieldWithTemplate(settings.FindPropertyRelative("languages"), s_AvailableLanguages, true); EditorGUIEx.TextFieldWithTemplate(settings.FindPropertyRelative("frameworks"), s_AvailableFrameworks, true); EditorGUIEx.TextFieldWithTemplate(settings.FindPropertyRelative("services"), s_AvailableServices, true); EditorGUIEx.FilePathField(settings.FindPropertyRelative("entitlementsFile"), "Select entitlement file.", "", "entitlements"); } EditorGUI.indentLevel--; // Signing. EditorGUILayout.LabelField("Signing", EditorStyles.boldLabel); var spAutomaticallySign = settings.FindPropertyRelative("automaticallySign"); EditorGUI.indentLevel++; { EditorGUILayout.PropertyField(spAutomaticallySign); EditorGUILayout.PropertyField(settings.FindPropertyRelative("developerTeamId")); if (!spAutomaticallySign.boolValue) { EditorGUILayout.PropertyField(settings.FindPropertyRelative("codeSignIdentity")); EditorGUILayout.PropertyField(settings.FindPropertyRelative("profileId")); EditorGUILayout.PropertyField(settings.FindPropertyRelative("profileSpecifier")); } } EditorGUI.indentLevel--; // exportOptions.plist. EditorGUILayout.LabelField("exportOptions.plist Setting", EditorStyles.boldLabel); EditorGUI.indentLevel++; { var spGenerate = settings.FindPropertyRelative("generateExportOptionPlist"); EditorGUILayout.PropertyField(spGenerate, new GUIContent("Generate Automatically")); if (spGenerate.boolValue) { EditorGUIEx.TextFieldWithTemplate(settings.FindPropertyRelative("exportMethod"), s_AvailableExportMethods, false); EditorGUILayout.PropertyField(settings.FindPropertyRelative("uploadBitcode")); EditorGUILayout.PropertyField(settings.FindPropertyRelative("uploadSymbols")); } } EditorGUI.indentLevel--; } }
/// <summary> /// Draws the ios settings. /// </summary> public void DrawSetting(SerializedObject serializedObject) { var settings = serializedObject.FindProperty("androidSettings"); using (new EditorGUIEx.GroupScope("Android Settings")) { EditorGUILayout.LabelField("Keystore", EditorStyles.boldLabel); EditorGUI.indentLevel++; { EditorGUIEx.FilePathField(settings.FindPropertyRelative("keystoreFile"), "Select keystore file.", "", ""); EditorGUILayout.PropertyField(settings.FindPropertyRelative("keystorePassword")); EditorGUILayout.PropertyField(settings.FindPropertyRelative("keystoreAliasName"), new GUIContent("Alias")); EditorGUILayout.PropertyField(settings.FindPropertyRelative("keystoreAliasPassword"), new GUIContent("Alias Password")); } EditorGUI.indentLevel--; } }
void Initialize() { if (styleCommand != null) { return; } styleTitle = new GUIStyle("IN BigTitle"); styleTitle.alignment = TextAnchor.UpperLeft; styleTitle.fontSize = 12; styleTitle.stretchWidth = true; styleTitle.margin = new RectOffset(); styleSymbols = new GUIStyle(EditorStyles.textArea); styleSymbols.wordWrap = true; styleCommand = new GUIStyle(EditorStyles.textArea); styleCommand.stretchWidth = false; styleCommand.fontSize = 9; contentOpen = new GUIContent(EditorGUIUtility.FindTexture("project")); // Find end property in ProjectBuilder. var dummy = ScriptableObject.CreateInstance <ProjectBuilder>(); var sp = new SerializedObject(dummy).GetIterator(); sp.Next(true); while (sp.Next(false)) { s_EndBasePropertyName = sp.name; } // Scene list. roSceneList = new ReorderableList(new List <ProjectBuilder.SceneSetting>(), typeof(ProjectBuilder.SceneSetting)); roSceneList.drawElementCallback += (rect, index, isActive, isFocused) => { var element = roSceneList.serializedProperty.GetArrayElementAtIndex(index); EditorGUI.PropertyField(new Rect(rect.x, rect.y, 16, rect.height - 2), element.FindPropertyRelative("enable"), GUIContent.none); EditorGUIEx.TextFieldWithTemplate(new Rect(rect.x + 16, rect.y, rect.width - 16, rect.height - 2), element.FindPropertyRelative("name"), GUIContent.none, s_AvailableScenes, false); }; roSceneList.headerHeight = 0; roSceneList.elementHeight = 18; // Exclude Directories List roExcludeDirectoriesList = new ReorderableList(new List <string>(), typeof(string)); roExcludeDirectoriesList.drawElementCallback += (rect, index, isActive, isFocused) => { var element = roExcludeDirectoriesList.serializedProperty.GetArrayElementAtIndex(index); EditorGUIEx.DirectoryPathField(rect, element, GUIContent.none, "Selcet exclude directory in build."); }; roExcludeDirectoriesList.headerHeight = 0; roExcludeDirectoriesList.elementHeight = 18; // Builder list. roBuilderList = new ReorderableList(s_BuildersInProject, typeof(ProjectBuilder)); roBuilderList.onSelectCallback = (list) => Selection.activeObject = list.list[list.index] as ProjectBuilder; roBuilderList.onAddCallback += (list) => { EditorApplication.delayCall += () => { Util.CreateBuilderAsset(); OnSelectionChanged(); }; }; roBuilderList.onRemoveCallback += (list) => { EditorApplication.delayCall += () => { AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(list.list[list.index] as ProjectBuilder)); AssetDatabase.Refresh(); OnSelectionChanged(); }; }; roBuilderList.drawElementCallback += (rect, index, isActive, isFocused) => { var b = roBuilderList.list[index] as ProjectBuilder; //オブジェクト取得. if (!b) { return; } GUI.DrawTexture(new Rect(rect.x, rect.y + 2, 16, 16), GetBuildTargetIcon(b)); GUI.Label(new Rect(rect.x + 16, rect.y + 2, rect.width - 16, rect.height - 2), new GUIContent(string.Format("{0} ({1})", b.name, b.productName))); }; roBuilderList.headerHeight = 0; roBuilderList.draggable = false; contentTitle = new GUIContent(Util.GetAssets <Texture2D>(typeof(ProjectBuilder).Name + " Icon").FirstOrDefault()); DestroyImmediate(dummy); }