void OnGUI() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("刷新数据", GUILayout.Width(120))) { RPGData.LoadDefAssetAtPath <EnemyDef>(ref EnemyDefList, EnemyDefEditor.DIRECTORY_PATH, "asset"); } EditorGUILayout.Space(); if (GUILayout.Button("确定", GUILayout.Width(120))) { if (!IsValidUnit()) { EditorUtility.DisplayDialog("无效坐标", "插入的坐标已经存在或格式不正确", "OK"); return; } if (!m_bMedify) { UnitSetting.Units.Add(unit); } else { EnemyUnitSetting.EnemyUnit previousUnit = UnitSetting.GetUnit(new Vector2Int(previousX, previousY)); int i = UnitSetting.Units.IndexOf(previousUnit); if (i >= 0) { UnitSetting.Units.RemoveAt(i); UnitSetting.Units.Insert(i, new EnemyUnitSetting.EnemyUnit(unit.Coord, unit.Enemy)); } } Close(); } EditorGUILayout.Space(); if (GUILayout.Button("取消", GUILayout.Width(120))) { Close(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); ShowEnemyDefList(); RPGEditorGUI.DrawVerticalLine(2, Color.black); ShowEnemyDefContent(); EditorGUILayout.EndHorizontal(); Undo.RecordObject(UnitSetting, "EnemyUnitSetting"); }
public static int MenuHorizontal(int selected, string[] menuItems, params GUILayoutOption[] options) { if (selected >= menuItems.Length || selected < 0) { selected = 0; } EditorGUILayout.BeginHorizontal(MenuBoxStyle, options); { GUILayout.Space(20); for (int i = 0; i < menuItems.Length; i++) { if (string.IsNullOrEmpty(menuItems[i])) { GUILayout.Space(15); continue; } if (menuItems[i][0] == '-') { if (menuItems[i].Length > 1) { GUILayout.Label(menuItems[i].Substring(1), RPGEditorGUI.MenuHeadStyle); } else { RPGEditorGUI.DrawVerticalLine(1, RPGEditorGUI.DividerColor, 5, 5); } continue; } if (GUILayout.Toggle((i == selected), menuItems[i], RPGEditorGUI.ButtonStyle)) { selected = i; } } GUILayout.FlexibleSpace(); } EditorGUILayout.EndHorizontal(); return(selected); }