public void OnGUILayout() { if (IsShowScroll) { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(false)); } EditorGUILayout.BeginVertical(); { foreach (var typeDrawProperty in typeDrawerProperties) { EGUILayout.DrawHorizontalSpace(10); EGUILayout.DrawBoxHeader(typeDrawProperty.type.Name, GUILayout.ExpandWidth(true)); EGUILayout.DrawHorizontalLine(); foreach (var property in typeDrawProperty.drawerProperties) { property.OnGUILayout(); } } } EditorGUILayout.EndVertical(); if (IsShowScroll) { EditorGUILayout.EndScrollView(); } if (drawerObject != null && typeof(UnityEngine.Object).IsAssignableFrom(drawerObject.GetType())) { if (GUI.changed) { EditorUtility.SetDirty((UnityEngine.Object)drawerObject); } } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); serializedObject.Update(); { EditorGUILayout.BeginVertical(EditorStyles.helpBox); { registParamsRLProperty.OnGUILayout(); } EditorGUILayout.EndVertical(); if (deleteIndex >= 0) { registParamGroupsProperty.RemoveElementAt(deleteIndex); RefreshRegistParamGroups(); deleteIndex = -1; } EditorGUILayout.BeginVertical(EditorStyles.helpBox); { EGUILayout.DrawBoxHeader("Regist Param", GUILayout.ExpandWidth(true)); Rect lastRect = GUILayoutUtility.GetLastRect(); Rect addBtnRect = new Rect(lastRect.x + lastRect.width - 60, lastRect.y, 60, lastRect.height); if (GUI.Button(addBtnRect, "Add")) { registParamGroupsProperty.InsertArrayElementAtIndex(registParamGroupsProperty.arraySize); RefreshRegistParamGroups(); } for (int i = 0; i < registParamGroupsProperty.arraySize; ++i) { SerializedProperty lopaProperty = registParamGroupsProperty.GetArrayElementAtIndex(i); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { SerializedProperty nameProperty = lopaProperty.FindPropertyRelative("name"); EditorGUILayout.PropertyField(nameProperty); registParamGroupsRLProperties[i].OnGUILayout(); } EditorGUILayout.EndVertical(); if (GUILayout.Button("Delete", GUILayout.Width(60))) { deleteIndex = i; } } EditorGUILayout.EndHorizontal(); EGUILayout.DrawHorizontalLine(); } } EditorGUILayout.EndVertical(); } serializedObject.ApplyModifiedProperties(); }
protected override void OnDrawProperty(string label) { if (list == null) { list = DrawerProperty.GetValue <IList>(); } EditorGUILayout.BeginVertical(EGUIStyles.BoxStyle); { EditorGUILayout.LabelField(GUIContent.none, EditorStyles.toolbar, GUILayout.ExpandWidth(true)); Rect lastRect = GUILayoutUtility.GetLastRect(); EditorGUI.LabelField(lastRect, label, EGUIStyles.BoldLabelStyle); Rect clearBtnRect = new Rect(lastRect.x + lastRect.width - 40, lastRect.y, 40, lastRect.height); if (GUI.Button(clearBtnRect, "C", EditorStyles.toolbarButton)) { DrawerProperty.ClearArrayElement(); InitList(); } for (int i = 0; i < list.Count; ++i) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { elementProperties[i].OnGUILayout(); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(GUILayout.Width(20)); { if (GUILayout.Button("-", GUILayout.Width(20))) { DrawerProperty.RemoveArrayElementAtIndex(i); InitList(); } } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); EGUILayout.DrawHorizontalLine(); } Rect addBtnRect = GUILayoutUtility.GetRect(lastRect.width, 20); addBtnRect.x += addBtnRect.width - 40; addBtnRect.width = 40; if (GUI.Button(addBtnRect, "+")) { DrawerProperty.AddArrayElement(); InitList(); } } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); { base.OnInspectorGUI(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Execute", GUILayout.Height(40))) { AssetAddressUtil.UpdateConfigByGroup(target as AssetAddressGroup); EditorUtility.DisplayDialog("Finished", "Finished", "OK"); } if (GUILayout.Button("Filter", GUILayout.Height(40))) { List <string> files = new List <string>(); AssetAddressGroup group = target as AssetAddressGroup; foreach (var filter in group.filters) { files.AddRange(filter.Filter()); } listViewer = new EGUIListView <string>(); listViewer.Header = "Asset List"; listViewer.OnDrawItem = (rect, index) => { Rect indexRect = new Rect(rect.x, rect.y, 20, rect.height); EditorGUI.PrefixLabel(indexRect, new GUIContent("" + index)); Rect itemRect = new Rect(rect.x + indexRect.width, rect.y, rect.width - indexRect.width, rect.height); EditorGUI.LabelField(itemRect, listViewer.GetItem(index)); }; listViewer.AddItems(files.ToArray()); } EGUILayout.DrawHorizontalLine(); if (listViewer != null) { Rect lastRect = EditorGUILayout.GetControlRect(false, 300, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); if (Event.current.type == EventType.Repaint) { listViewer.OnGUI(lastRect); } } } EditorGUILayout.EndVertical(); }
public override void OnGUILayout() { SeparatorLineAttribute attr = GetAttr <SeparatorLineAttribute>(); EGUILayout.DrawHorizontalLine(attr.Color, attr.Thickness, attr.Padding); }
protected override void OnDrawProperty(string label) { BitmapFontChar value = Property.GetValue <BitmapFontChar>(); label = $"Font {(label ?? "")} ({value.fontName})"; EditorGUI.BeginChangeCheck(); { value.fontName = EditorGUILayout.TextField("Font Name", value.fontName); value.charSpace = EditorGUILayout.IntField("Char Space", value.charSpace); EditorGUILayout.BeginVertical(EGUIStyles.BoxStyle); { EditorGUILayout.LabelField(GUIContent.none, EditorStyles.toolbar, GUILayout.ExpandWidth(true)); Rect lastRect = GUILayoutUtility.GetLastRect(); EditorGUI.LabelField(lastRect, label, EGUIStyles.BoldLabelStyle); Rect clearBtnRect = new Rect(lastRect.x + lastRect.width - 40, lastRect.y, 40, lastRect.height); if (GUI.Button(clearBtnRect, "C", EditorStyles.toolbarButton)) { //DrawerProperty.ClearArrayElement(); value.chars.Clear(); value.textures.Clear(); } for (int i = 0; i < value.chars.Count; ++i) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { char c = value.chars[i]; string charText = EditorGUILayout.TextField("Char", "" + c); if (!string.IsNullOrEmpty(charText) && charText[0] != c) { value.chars[i] = charText[0]; } value.textures[i] = (Texture2D)EditorGUILayout.ObjectField("Texture", value.textures[i], typeof(Texture2D), false); } EditorGUILayout.EndVertical(); if (GUILayout.Button("-", GUILayout.Width(20))) { value.chars.RemoveAt(i); value.textures.RemoveAt(i); } } EditorGUILayout.EndHorizontal(); EGUILayout.DrawHorizontalLine(); } Rect addBtnRect = GUILayoutUtility.GetRect(lastRect.width, 20); addBtnRect.x += addBtnRect.width - 40; addBtnRect.width = 40; if (GUI.Button(addBtnRect, "+")) { value.chars.Add('-'); value.textures.Add(null); } } EditorGUILayout.EndVertical(); } if (EditorGUI.EndChangeCheck()) { Property.Value = value; } }
protected override void DrawInstance() { EditorGUILayout.BeginVertical(EGUIStyles.BoxStyle); { EGUILayout.DrawBoxHeader(Header, GUILayout.ExpandWidth(true)); Rect lastRect = GUILayoutUtility.GetLastRect(); Rect clearBtnRect = new Rect(lastRect.x + lastRect.width - 40, lastRect.y, 40, lastRect.height); if (GUI.Button(clearBtnRect, "C", EditorStyles.toolbarButton)) { if (ClearAllItem != null) { ClearAllItem.Invoke(); } else { Clear(); } } IList list = Target as IList; for (int i = 0; i < list.Count; ++i) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { itemDrawers[i].OnGUILayout(); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(GUILayout.Width(20)); { if (GUILayout.Button("-")) { if (DeleteItemAt != null) { DeleteItemAt(i); } else { RemoveItemAtIndex(i); } } } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); EGUILayout.DrawHorizontalLine(); } Rect addBtnRect = GUILayoutUtility.GetRect(lastRect.width, 20); addBtnRect.x += addBtnRect.width - 40; addBtnRect.width = 40; if (GUI.Button(addBtnRect, "+")) { if (CreateNewItem != null) { CreateNewItem.Invoke(); } else { AddNewItemAtLast(); } } } EditorGUILayout.EndVertical(); }
public override void OnGUILayout() { EGUILayout.DrawHorizontalLine(); }
public void OnGUILayout() { EGUILayout.DrawHorizontalLine(); }