seefood_diet / Assets / UIKit / Editor / UIViewInspector.cs
UIViewInspector.cs
Raw
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

namespace UIKit {

    [CustomEditor (typeof (UIView))]
    [CanEditMultipleObjects]
    public class UIViewInspector : UnityEditor.Editor {

        UIView m_Target;

        protected void OnEnable () {

            m_Target = target as UIView;
        }

        public override VisualElement CreateInspectorGUI () {

            var rootElement = new VisualElement ();

            var objectField = new ObjectField ("UI View");
            objectField.value = m_Target;
            rootElement.Add (objectField);

            var styleField = new EnumField ("Style");
            styleField.Init (m_Target.StyleId);

            styleField.value = m_Target.StyleId;
            styleField.RegisterCallback<ChangeEvent<Enum>> (evt => {
                m_Target.StyleId = (UIStyleId) evt.newValue;
            });
            rootElement.Add (styleField);

            var colorField = new EnumField ("Color");
            colorField.Init (m_Target.ColorId);

            colorField.value = m_Target.ColorId;
            colorField.RegisterCallback<ChangeEvent<Enum>> (evt => {
                m_Target.ColorId = (UIColorId) evt.newValue;
            });
            rootElement.Add (colorField);

            var elementField = new ObjectField ("UI Element");
            elementField.SetEnabled (false);
            elementField.value = m_Target.Element;
            rootElement.Add (elementField);

            return rootElement;
        }
    }
}