void OnGUI() { InitBase(); SetEditorStyles(); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); for (int i = 0; i < Data.Count; i++) { DisplayData(Data[i]); } EditorGUILayout.EndScrollView(); GUILayout.Space(12); GUILayout.FlexibleSpace(); EditorGUILayout.BeginHorizontal(); GUILayout.Space(6); if (GUILayout.Button("Refresh Data")) { LoadData(); } GUILayout.FlexibleSpace(); if (GUILayout.Button("New " + type.ToString())) { ContractFormBase newEditor = EditorInitMethod.Invoke(null, null) as ContractFormBase; newEditor.OnClose = ReloadContent; } GUILayout.Space(6); EditorGUILayout.EndHorizontal(); GUILayout.Space(6); }
protected void ControlsArea(T content) { EditorGUILayout.BeginHorizontal(); { //Buttons to move contract up and down if (GUILayout.Button("▲")) { MoveUp(content); } GUILayout.Space(6); if (GUILayout.Button("▼")) { MoveDown(content); } GUILayout.Space(6); GUILayout.FlexibleSpace(); //Edit and delete buttons in their own horizontal across the bottom if (GUILayout.Button("Edit")) { int index = Data.IndexOf(content); ContractFormBase genericEditor = EditorInitWithObjectMethod.Invoke(null, new object[] { content, index }) as ContractFormBase; genericEditor.OnClose = ReloadContent; } if (GUILayout.Button("Delete")) { if (EditorUtility.DisplayDialog("Deleting Content", "You can't get this back if you delete it. Are you sure you want to delete it?", "Yes I hate this")) { Data.Remove(content); WriteData(); } } GUILayout.Space(6); } EditorGUILayout.EndHorizontal(); GUILayout.Space(6); }