A game about forced loneliness, made by TACStudios
at master 132 lines 3.6 kB view raw
1using System.Collections.Generic; 2using UnityEditor.ShortcutManagement; 3using UnityEditor.Timeline; 4using UnityEditor.Timeline.Actions; 5using UnityEngine; 6using UnityEngine.Playables; 7using UnityEngine.Timeline; 8 9namespace DocCodeExamples 10{ 11 class TimelineAttributesExamples_HideAPI 12 { 13 #region declare-sampleTrackBindingAttr 14 15 [TrackBindingType(typeof(Light), TrackBindingFlags.AllowCreateComponent)] 16 public class LightTrack : TrackAsset { } 17 18 #endregion 19 20 #region declare-menuEntryAttribute 21 22 [MenuEntry("Simple Menu Action")] 23 class SimpleMenuAction : TimelineAction 24 { 25 public override ActionValidity Validate(ActionContext actionContext) 26 { 27 return ActionValidity.Valid; 28 } 29 30 public override bool Execute(ActionContext actionContext) 31 { 32 return true; 33 } 34 } 35 36 [MenuEntry("Menu Action with priority", 9999)] 37 class MenuActionWithPriority : TimelineAction 38 { 39 public override ActionValidity Validate(ActionContext actionContext) 40 { 41 return ActionValidity.Valid; 42 } 43 44 public override bool Execute(ActionContext actionContext) 45 { 46 return true; 47 } 48 } 49 50 [MenuEntry("My Menu/Menu Action inside submenu")] 51 class MenuActionInsideSubMenu : TimelineAction 52 { 53 public override ActionValidity Validate(ActionContext actionContext) 54 { 55 return ActionValidity.Valid; 56 } 57 58 public override bool Execute(ActionContext actionContext) 59 { 60 return true; 61 } 62 } 63 64 #endregion 65 66 #region declare-timelineShortcutAttr 67 68 public class ShortcutAction : TimelineAction 69 { 70 public override ActionValidity Validate(ActionContext _) 71 { 72 return ActionValidity.Valid; 73 } 74 75 public override bool Execute(ActionContext _) 76 { 77 Debug.Log("Action executed."); 78 return true; 79 } 80 81 [TimelineShortcut("Test Action", KeyCode.K, ShortcutModifiers.Shift | ShortcutModifiers.Alt)] 82 public static void HandleShortCut(ShortcutArguments args) 83 { 84 Invoker.InvokeWithSelected<ShortcutAction>(); 85 } 86 } 87 88 #endregion 89 90 #region declare-applyDefaultUndoAttr 91 92 [ApplyDefaultUndo] 93 public class SetNameToTypeAction : TrackAction 94 { 95 public override ActionValidity Validate(IEnumerable<TrackAsset> items) 96 { 97 return ActionValidity.Valid; 98 } 99 100 public override bool Execute(IEnumerable<TrackAsset> items) 101 { 102 foreach (TrackAsset track in items) 103 track.name = track.GetType().Name; 104 return true; 105 } 106 } 107 108 #endregion 109 110 #region declare-customStyleMarkerAttr 111 112 [CustomStyle("MyStyle")] 113 public class MyMarker : UnityEngine.Timeline.Marker { } 114 115 #endregion 116 117 #region declare-customTimelineEditorAttr 118 119 [CustomTimelineEditor(typeof(MyCustomClip))] 120 class MyCustomClipEditor : ClipEditor { } 121 122 #endregion 123 124 class MyCustomClip : PlayableAsset 125 { 126 public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) 127 { 128 return Playable.Null; 129 } 130 } 131 } 132}