using UnityEditor;
using UnityEngine;
[CanEditMultipleObjects]
[CustomEditor(typeof(PropIdentity))]
public class PropIdentityInspector : Editor
{
private SerializedObject obj;
private PropIdentity identity;
private SerializedProperty propNameId;
private SerializedProperty triggerAction;
private SerializedProperty dialogEndAction;
private SerializedProperty dialogName;
private SerializedProperty showTipAble;
private SerializedProperty pickAudio;
private SerializedProperty lookAt;
private SerializedProperty guideBag;
void OnEnable()
{
obj = new SerializedObject(target);
propNameId = obj.FindProperty("propNameId");
triggerAction = obj.FindProperty("triggerAction");
dialogEndAction = obj.FindProperty("dialogEndAction");
dialogName = obj.FindProperty("dialogName");
showTipAble = obj.FindProperty("showTipAble");
pickAudio = obj.FindProperty("pickAudio");
lookAt = obj.FindProperty("lookAt");
guideBag = obj.FindProperty("guideBag");
obj.UpdateIfRequiredOrScript();
}
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
obj.Update();
identity = (PropIdentity)target;
identity.prop = (Prop)EditorGUILayout.EnumPopup("Prop", identity.prop);
identity.propType = (PropType)EditorGUILayout.EnumPopup("PropType", identity.propType);
if (identity.propType == PropType.pickAble)
{
EditorGUILayout.PropertyField(pickAudio);
EditorGUILayout.PropertyField(guideBag);
}
else if (identity.propType == PropType.triggerDialog)
{
EditorGUILayout.PropertyField(dialogName);
EditorGUILayout.PropertyField(dialogEndAction);
}
EditorGUILayout.PropertyField(triggerAction);
identity.objectType = (ObjectType)EditorGUILayout.EnumPopup("ObjectType", identity.objectType);
identity.triggerType = (TriggerType)EditorGUILayout.EnumPopup("TriggerType", identity.triggerType);
EditorGUILayout.Space();
EditorGUILayout.PropertyField(showTipAble);
if (identity.prop == Prop.diffuse)
{
EditorGUILayout.PropertyField(propNameId);
}
EditorGUILayout.PropertyField(lookAt);
if (GUI.changed)
{
EditorUtility.SetDirty(target);
}
obj.ApplyModifiedProperties();
}
}
unity EditorGUILayout使用模板
最新推荐文章于 2024-04-26 11:37:33 发布