using System; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; [CustomEditor(typeof(ActionToolSettings))] public class ActionToolSettingsEditor : Editor { ActionToolSettings setting; public void OnEnable() { setting = target as ActionToolSettings; } public void OnDisable() { } public override void OnInspectorGUI() { if (setting == null) return; //foreach(var col in setting.eventColors) //{ // EditorGUILayout.BeginHorizontal(); // EditorGUILayout.LabelField(col.Key.ToString()); // Color c = EditorGUILayout.ColorField(col.Value); // setting.eventColors[col.Key] = c; // EditorGUILayout.EndHorizontal(); //} EditorGUI.BeginChangeCheck(); foreach (var name in Enum.GetNames(typeof(TimelineEvent.EEventType))) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(name); Color old = setting.eventNames.Contains(name) ? setting.eventColors[setting.eventNames.IndexOf(name)] : Color.black; Color c = EditorGUILayout.ColorField(old); if (!setting.eventNames.Contains(name)) { setting.eventNames.Add(name); setting.eventColors.Add(c); } setting.eventColors[setting.eventNames.IndexOf(name)] = c; EditorGUILayout.EndHorizontal(); } if(EditorGUI.EndChangeCheck()) { EditorUtility.SetDirty(setting); //AssetDatabase.SaveAssets(); //AssetDatabase.Refresh(); } } }