コード例 #1
0
        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();
            };
        }
コード例 #2
0
        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();
        }