void OnEnable() { // Setup the SerializedProperties. colorProp = serializedObject.FindProperty("color"); targetTagProp = serializedObject.FindProperty("targetTag"); targetRenderersProp = serializedObject.FindProperty("targetRenderers"); if (tags == null) { tags = new List <string>(); } else { tags.Clear(); } CubismColorCustomizer mp = (CubismColorCustomizer)target; foreach (var e in mp.gameObject.GetComponentsInChildren <CubismUserDataTag>()) { if (!tags.Exists(x => x == e.Value)) { tags.Add(e.Value); } } EditorApplication.update += () => { ((CubismColorCustomizer)target).Update(); }; }
public override void OnInspectorGUI() { serializedObject.Update(); CubismColorCustomizer mp = (CubismColorCustomizer)target; mp.color = EditorGUILayout.ColorField("color", mp.color); var tagIndex = EditorGUILayout.Popup("targetTag", tags.FindIndex(x => x == mp.targetTag), tags.ToArray()); if (tagIndex == -1) { return; } mp.targetTag = tags[tagIndex]; serializedObject.ApplyModifiedProperties(); }