| using UnityEngine.Timeline; | |
| namespace UnityEditor.Timeline | |
| { | |
| // Simple inspector used by built in assets | |
| // that only need to hide the script field | |
| class BasicAssetInspector : Editor, IInspectorChangeHandler | |
| { | |
| bool m_ShouldRebuild; | |
| public override void OnInspectorGUI() | |
| { | |
| EditorGUI.BeginChangeCheck(); | |
| serializedObject.Update(); | |
| SerializedProperty property = serializedObject.GetIterator(); | |
| bool expanded = true; | |
| while (property.NextVisible(expanded)) | |
| { | |
| expanded = false; | |
| if (SkipField(property.propertyPath)) | |
| continue; | |
| EditorGUILayout.PropertyField(property, true); | |
| } | |
| m_ShouldRebuild = serializedObject.ApplyModifiedProperties(); | |
| EditorGUI.EndChangeCheck(); | |
| } | |
| public virtual void OnPlayableAssetChangedInInspector() | |
| { | |
| if (m_ShouldRebuild) | |
| { | |
| TimelineEditor.Refresh(RefreshReason.ContentsModified); | |
| } | |
| m_ShouldRebuild = false; | |
| } | |
| static bool SkipField(string fieldName) | |
| { | |
| return fieldName == "m_Script"; | |
| } | |
| } | |
| [] | |
| class ActivationPlayableAssetInspector : BasicAssetInspector { } | |
| } | |