├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Editor.meta ├── Editor ├── App.cs ├── App.cs.meta ├── Def.meta ├── Def │ ├── PrefsConst.cs │ ├── PrefsConst.cs.meta │ ├── Styles.cs │ └── Styles.cs.meta ├── Events.meta ├── Events │ ├── Interfaces.meta │ ├── Interfaces │ │ ├── IDragBeginHandler.cs │ │ ├── IDragBeginHandler.cs.meta │ │ ├── IDragEndHandler.cs │ │ ├── IDragEndHandler.cs.meta │ │ ├── IPointerClickHandler.cs │ │ ├── IPointerClickHandler.cs.meta │ │ ├── IPointerDownHandler.cs │ │ ├── IPointerDownHandler.cs.meta │ │ ├── IPointerDragHandler.cs │ │ ├── IPointerDragHandler.cs.meta │ │ ├── IPointerEnterHandler.cs │ │ ├── IPointerEnterHandler.cs.meta │ │ ├── IPointerExitHandler.cs │ │ ├── IPointerExitHandler.cs.meta │ │ ├── IPointerUpHandler.cs │ │ └── IPointerUpHandler.cs.meta │ ├── PointerEventData.cs │ └── PointerEventData.cs.meta ├── GUIS.meta ├── GUIS │ ├── ActionEditor.meta │ ├── ActionEditor │ │ ├── ActionEditorWindow.cs │ │ ├── ActionEditorWindow.cs.meta │ │ ├── Views.meta │ │ └── Views │ │ │ ├── Base.meta │ │ │ ├── Base │ │ │ ├── ItemViewBase.cs │ │ │ ├── ItemViewBase.cs.meta │ │ │ ├── ViewBase.cs │ │ │ └── ViewBase.cs.meta │ │ │ ├── SplitterView.cs │ │ │ ├── SplitterView.cs.meta │ │ │ ├── Timeline.meta │ │ │ ├── Timeline │ │ │ ├── ClipDragger.cs │ │ │ ├── ClipDragger.cs.meta │ │ │ ├── ClipDraw.meta │ │ │ ├── ClipDraw │ │ │ │ ├── BasicClipDraw.cs │ │ │ │ ├── BasicClipDraw.cs.meta │ │ │ │ ├── ClipDrawer.cs │ │ │ │ ├── ClipDrawer.cs.meta │ │ │ │ ├── SignalClipDraw.cs │ │ │ │ ├── SignalClipDraw.cs.meta │ │ │ │ ├── SimpleClipDraw.cs │ │ │ │ └── SimpleClipDraw.cs.meta │ │ │ ├── TimelineBottomView.cs │ │ │ ├── TimelineBottomView.cs.meta │ │ │ ├── TimelineHeaderView.cs │ │ │ ├── TimelineHeaderView.cs.meta │ │ │ ├── TimelineMiddleView.cs │ │ │ ├── TimelineMiddleView.cs.meta │ │ │ ├── TimelinePointerView.cs │ │ │ ├── TimelinePointerView.cs.meta │ │ │ ├── TimelineTrackItemView.cs │ │ │ ├── TimelineTrackItemView.cs.meta │ │ │ ├── TimelineView.cs │ │ │ └── TimelineView.cs.meta │ │ │ ├── WelcomeView.cs │ │ │ └── WelcomeView.cs.meta │ ├── CreateAssetWindow.cs │ ├── CreateAssetWindow.cs.meta │ ├── Customized.meta │ ├── Customized │ │ ├── CustomizedDrawTools.cs │ │ ├── CustomizedDrawTools.cs.meta │ │ ├── EditorCustomFactory.cs │ │ ├── EditorCustomFactory.cs.meta │ │ ├── Header.meta │ │ ├── Header │ │ │ ├── HeaderBase.cs │ │ │ ├── HeaderBase.cs.meta │ │ │ ├── HeaderGUI.cs │ │ │ └── HeaderGUI.cs.meta │ │ ├── ICustomized.cs │ │ ├── ICustomized.cs.meta │ │ ├── Inspectors.meta │ │ └── Inspectors │ │ │ ├── Com.meta │ │ │ ├── Com │ │ │ ├── ActionClipInspector.cs │ │ │ ├── ActionClipInspector.cs.meta │ │ │ ├── AssetInspector.cs │ │ │ ├── AssetInspector.cs.meta │ │ │ ├── GroupInspector.cs │ │ │ ├── GroupInspector.cs.meta │ │ │ ├── TrackInspector.cs │ │ │ └── TrackInspector.cs.meta │ │ │ ├── InspectorPreviewAssetInspector.cs │ │ │ ├── InspectorPreviewAssetInspector.cs.meta │ │ │ ├── InspectorsBase.cs │ │ │ └── InspectorsBase.cs.meta │ ├── ObjectSelectorWindow.cs │ ├── ObjectSelectorWindow.cs.meta │ ├── PreferencesWindow.cs │ └── PreferencesWindow.cs.meta ├── Languages.meta ├── Languages │ ├── ILanguages.cs │ ├── ILanguages.cs.meta │ ├── Lan.cs │ ├── Lan.cs.meta │ ├── LanCHS.cs │ ├── LanCHS.cs.meta │ ├── LanEN.cs │ └── LanEN.cs.meta ├── NBC.ActionEditor.Editor.asmdef ├── NBC.ActionEditor.Editor.asmdef.meta ├── Preview.meta ├── Preview │ ├── AssetPlayer.cs │ ├── AssetPlayer.cs.meta │ ├── PreviewBase.cs │ ├── PreviewBase.cs.meta │ ├── TimePointers.cs │ └── TimePointers.cs.meta ├── Resources.meta ├── Resources │ ├── nbc.meta │ └── nbc │ │ ├── Background.png │ │ ├── Background.png.meta │ │ ├── HeaderBoxImage.png │ │ ├── HeaderBoxImage.png.meta │ │ ├── Logo.png │ │ ├── Logo.png.meta │ │ ├── Signal.png │ │ ├── Signal.png.meta │ │ ├── Stripes.png │ │ ├── Stripes.png.meta │ │ ├── StyleSheet.guiskin │ │ ├── StyleSheet.guiskin.meta │ │ ├── TimelineEndPlayback.png │ │ ├── TimelineEndPlayback.png.meta │ │ ├── TimelineStartPlayback.png │ │ ├── TimelineStartPlayback.png.meta │ │ ├── TimelineTimeCursor.png │ │ ├── TimelineTimeCursor.png.meta │ │ ├── block.png │ │ ├── block.png.meta │ │ ├── icon.meta │ │ ├── icon │ │ ├── Collapsed.png │ │ ├── Collapsed.png.meta │ │ ├── Create.png │ │ ├── Create.png.meta │ │ ├── Expanded.png │ │ ├── Expanded.png.meta │ │ ├── Lock.png │ │ ├── Lock.png.meta │ │ ├── Menu.png │ │ ├── Menu.png.meta │ │ ├── magnet.png │ │ ├── magnet.png.meta │ │ ├── rollback.png │ │ ├── rollback.png.meta │ │ ├── save.png │ │ ├── save.png.meta │ │ ├── settings.png │ │ └── settings.png.meta │ │ ├── play.meta │ │ └── play │ │ ├── FirstFrame.png │ │ ├── FirstFrame.png.meta │ │ ├── LastFrame.png │ │ ├── LastFrame.png.meta │ │ ├── NextFrame.png │ │ ├── NextFrame.png.meta │ │ ├── Play.png │ │ ├── Play.png.meta │ │ ├── PrevFrame.png │ │ ├── PrevFrame.png.meta │ │ ├── Preview.png │ │ ├── Preview.png.meta │ │ ├── Range.png │ │ ├── Range.png.meta │ │ ├── pause.png │ │ ├── pause.png.meta │ │ ├── stop.png │ │ └── stop.png.meta ├── Tools.meta └── Tools │ ├── DrawTools.cs │ ├── DrawTools.cs.meta │ ├── EditorTools.cs │ ├── EditorTools.cs.meta │ ├── Extensions.meta │ ├── Extensions │ ├── DirectableAssetExtensions.cs │ ├── DirectableAssetExtensions.cs.meta │ ├── EditorWindowExtensions.cs │ ├── EditorWindowExtensions.cs.meta │ ├── FieldInfoExtensions.cs │ ├── FieldInfoExtensions.cs.meta │ ├── RectExtensions.cs │ ├── RectExtensions.cs.meta │ ├── TrackExtends.cs │ └── TrackExtends.cs.meta │ ├── NBLayout.cs │ ├── NBLayout.cs.meta │ ├── PreviewResizer.cs │ └── PreviewResizer.cs.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── Assets.meta ├── Assets │ ├── Asset.cs │ ├── Asset.cs.meta │ ├── Clip.cs │ ├── Clip.cs.meta │ ├── Group.cs │ ├── Group.cs.meta │ ├── InspectorPreviewAsset.cs │ ├── InspectorPreviewAsset.cs.meta │ ├── Track.cs │ └── Track.cs.meta ├── Attributes.meta ├── Attributes │ ├── Attributes.cs │ ├── Attributes.cs.meta │ ├── PropertyAttributes.cs │ └── PropertyAttributes.cs.meta ├── Const.meta ├── Const │ ├── Enums.cs │ ├── Enums.cs.meta │ ├── Prefs.cs │ └── Prefs.cs.meta ├── Extensions.meta ├── Extensions │ ├── IDirectableExtensions.cs │ ├── IDirectableExtensions.cs.meta │ ├── StringExtensions.cs │ └── StringExtensions.cs.meta ├── Interfaces.meta ├── Interfaces │ ├── IData.cs │ ├── IData.cs.meta │ ├── IDirectable.cs │ ├── IDirectable.cs.meta │ ├── IDirector.cs │ ├── IDirector.cs.meta │ ├── ISubClipContainable.cs │ └── ISubClipContainable.cs.meta ├── NBC.ActionEditor.asmdef ├── NBC.ActionEditor.asmdef.meta ├── ThirdParty.meta ├── ThirdParty │ ├── FullSerializer.dll │ └── FullSerializer.dll.meta ├── Utility.meta └── Utility │ ├── AttributesUtility.cs │ ├── AttributesUtility.cs.meta │ ├── ColorUtility.cs │ ├── ColorUtility.cs.meta │ ├── CreateUtilities.cs │ ├── CreateUtilities.cs.meta │ ├── Easing.cs │ ├── Easing.cs.meta │ ├── FullSerializerExtensions.cs │ ├── FullSerializerExtensions.cs.meta │ ├── RectUtility.cs │ ├── RectUtility.cs.meta │ ├── ReflectionTools.cs │ └── ReflectionTools.cs.meta ├── package.json └── package.json.meta /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # change logs 2 | 3 | ## 1.0 4 | 5 | ## 2.0 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4c326b0cadb4084f94c5609f1dd1854 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41bcd77899eb4750aafea7b90099d603 3 | timeCreated: 1725873917 -------------------------------------------------------------------------------- /Editor/App.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 388d9541706214b549412603b072872b 3 | timeCreated: 1675238206 -------------------------------------------------------------------------------- /Editor/Def.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c6de943af6b40a582d87a349f2ec686 3 | timeCreated: 1726798486 -------------------------------------------------------------------------------- /Editor/Def/PrefsConst.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public class PrefsConst 4 | { 5 | public const string Width = "NBSkillWidth"; 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/Def/PrefsConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd3fba45da7f428f925335ec345164f5 3 | timeCreated: 1726802589 -------------------------------------------------------------------------------- /Editor/Def/Styles.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e001fc02d4424aaab245be5232f6eede 3 | timeCreated: 1726798491 -------------------------------------------------------------------------------- /Editor/Events.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb05d3ed25ec479f81737f01ae13700e 3 | timeCreated: 1726885487 -------------------------------------------------------------------------------- /Editor/Events/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 617a596947f34653a6a71ad2342bd9e7 3 | timeCreated: 1726885815 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IDragBeginHandler.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor.Events 2 | { 3 | public interface IDragBeginHandler 4 | { 5 | void OnDragBegin(PointerEventData eventData); 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IDragBeginHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 251afc4d5d23422bb070ab91613db9e1 3 | timeCreated: 1726889160 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IDragEndHandler.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor.Events 2 | { 3 | public interface IDragEndHandler 4 | { 5 | void OnDragEnd(PointerEventData eventData); 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IDragEndHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1285635d86e4a2889cf0b4d1ccecc43 3 | timeCreated: 1726889241 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerClickHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public interface IPointerClickHandler 6 | { 7 | void OnPointerClick(PointerEventData ev); 8 | } 9 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerClickHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b8aff9712d84e6797f3ebab73c17ecb 3 | timeCreated: 1726885632 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerDownHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public interface IPointerDownHandler 6 | { 7 | void OnPointerDown(PointerEventData ev); 8 | } 9 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerDownHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f9d78191bcd4c4cad6119d752c25784 3 | timeCreated: 1726885825 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerDragHandler.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor.Events 2 | { 3 | public interface IPointerDragHandler 4 | { 5 | void OnPointerDrag(PointerEventData eventData); 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerDragHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672622fbf2354c0597396c57cc3d84ce 3 | timeCreated: 1727171004 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerEnterHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public interface IPointerEnterHandler 6 | { 7 | void OnPointerEnter(PointerEventData ev); 8 | } 9 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerEnterHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a9293adafb84c1789f22a06c2c1ada5 3 | timeCreated: 1726885847 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerExitHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public interface IPointerExitHandler 6 | { 7 | void OnPointerExit(PointerEventData ev); 8 | } 9 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerExitHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08484bba1373447aa8c58afb23028b48 3 | timeCreated: 1726885860 -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerUpHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public interface IPointerUpHandler 6 | { 7 | void OnPointerUp(PointerEventData ev); 8 | } 9 | } -------------------------------------------------------------------------------- /Editor/Events/Interfaces/IPointerUpHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 276bcb99d9484ab1ab4f1c09dd6a2374 3 | timeCreated: 1726885835 -------------------------------------------------------------------------------- /Editor/Events/PointerEventData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor.Events 4 | { 5 | public class PointerEventData 6 | { 7 | private Event _event; 8 | 9 | public bool HasRect; 10 | 11 | public Vector2 MousePosition => _event != null ? _event.mousePosition : Vector2.zero; 12 | 13 | public PointerEventData() 14 | { 15 | } 16 | 17 | public PointerEventData(Event ev) 18 | { 19 | SetEvent(ev); 20 | } 21 | 22 | public void SetEvent(Event ev) 23 | { 24 | _event = ev; 25 | } 26 | 27 | public void StopPropagation() 28 | { 29 | _event.Use(); 30 | } 31 | 32 | public bool IsRight() 33 | { 34 | return _event.button == 1; 35 | } 36 | 37 | public bool IsMiddle() 38 | { 39 | return _event.button == 2; 40 | } 41 | 42 | public bool IsLeft() 43 | { 44 | return _event.button == 0; 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /Editor/Events/PointerEventData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03cc65a8cf0245bcaeb2d9d2dd845015 3 | timeCreated: 1726886734 -------------------------------------------------------------------------------- /Editor/GUIS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d608ab73538480d9a6140ad7be7f81a 3 | timeCreated: 1726795576 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71d1294ae2b74973bdf811b6549f742b 3 | timeCreated: 1726796063 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/ActionEditorWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEditor.SceneManagement; 3 | using UnityEngine; 4 | 5 | namespace NBC.ActionEditor 6 | { 7 | public class ActionEditorWindow : EditorWindow 8 | { 9 | [MenuItem("NBC/Action Editor/Open Action Editor", false, 0)] 10 | public static void OpenDirectorWindow() 11 | { 12 | var window = GetWindow(typeof(ActionEditorWindow)) as ActionEditorWindow; 13 | if (window == null) return; 14 | window.Show(); 15 | } 16 | 17 | private WelcomeView _welcomeView; 18 | private TimelineView _timelineView; 19 | 20 | #region Init 21 | 22 | void InitializeAll() 23 | { 24 | Lan.Load(); 25 | Styles.Load(); 26 | Prefs.InitializeAssetTypes(); 27 | App.OnInitialize?.Invoke(); 28 | //停止播放 29 | if (App.AssetData != null) 30 | { 31 | if (!Application.isPlaying) 32 | { 33 | // App.Stop(true); 34 | } 35 | } 36 | 37 | _welcomeView = this.CreateView(); 38 | _timelineView = this.CreateView(); 39 | // WillRepaint = true; 40 | } 41 | 42 | #endregion 43 | 44 | #region Lifecycle 45 | void OnEnable() 46 | { 47 | App.Window = this; 48 | EditorSceneManager.sceneSaving -= OnWillSaveScene; 49 | EditorSceneManager.sceneSaving += OnWillSaveScene; 50 | 51 | EditorApplication.update -= OnEditorUpdate; 52 | EditorApplication.update += OnEditorUpdate; 53 | 54 | titleContent = new GUIContent(Lan.Title); 55 | minSize = new Vector2(500, 250); 56 | 57 | InitializeAll(); 58 | } 59 | 60 | void OnDisable() 61 | { 62 | App.Window = null; 63 | EditorSceneManager.sceneSaving -= OnWillSaveScene; 64 | EditorApplication.update -= OnEditorUpdate; 65 | 66 | App.OnDisable?.Invoke(); 67 | } 68 | 69 | void OnEditorUpdate() 70 | { 71 | this.UpdateViews(); 72 | if (App.NeedForceRefresh) 73 | { 74 | this.Repaint(); 75 | } 76 | App.OnUpdate(); 77 | } 78 | 79 | void OnGUI() 80 | { 81 | if (App.AssetData == null) 82 | { 83 | // Test(); 84 | _welcomeView.OnGUI(this.position); 85 | return; 86 | } 87 | 88 | if (Event.current.type == EventType.MouseMove) 89 | { 90 | Debug.Log("MouseMove===11"); 91 | Repaint(); 92 | } 93 | 94 | _timelineView.OnGUI(this.position); 95 | App.OnGUIEnd(); 96 | } 97 | 98 | void OnWillSaveScene(UnityEngine.SceneManagement.Scene scene, string path) 99 | { 100 | } 101 | 102 | #endregion 103 | 104 | #region Test 105 | 106 | private bool isDragging = false; // 是否正在拖动 107 | private Vector2 dragStartPos; // 拖动起始位置 108 | private Rect draggableRect = new Rect(50, 50, 100, 100); // 可拖动区域 109 | 110 | void Test() 111 | { 112 | // 绘制一个可拖动的矩形 113 | EditorGUI.DrawRect(draggableRect, Color.green); 114 | 115 | Event e = Event.current; 116 | 117 | // 检测鼠标事件 118 | switch (e.type) 119 | { 120 | case EventType.MouseDown: 121 | // 如果鼠标在可拖动矩形内,开始拖动 122 | if (draggableRect.Contains(e.mousePosition) && e.button == 0) 123 | { 124 | isDragging = true; 125 | dragStartPos = e.mousePosition; 126 | Debug.Log("Begin Drag"); 127 | e.Use(); // 使用事件,防止事件继续传播 128 | } 129 | 130 | break; 131 | 132 | case EventType.MouseDrag: 133 | // 如果正在拖动,更新矩形位置 134 | if (isDragging) 135 | { 136 | Vector2 dragDelta = e.mousePosition - dragStartPos; 137 | draggableRect.position += dragDelta; // 更新矩形位置 138 | dragStartPos = e.mousePosition; // 更新起始位置 139 | Debug.Log("Dragging: " + dragDelta); 140 | e.Use(); 141 | } 142 | 143 | break; 144 | 145 | case EventType.MouseUp: 146 | // 鼠标抬起,结束拖动 147 | if (isDragging && e.button == 0) 148 | { 149 | isDragging = false; 150 | Debug.Log("End Drag"); 151 | e.Use(); 152 | } 153 | 154 | break; 155 | 156 | case EventType.Repaint: 157 | // 额外操作:实时重绘界面 158 | EditorGUI.DrawRect(draggableRect, Color.green); 159 | break; 160 | } 161 | } 162 | 163 | #endregion 164 | } 165 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/ActionEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7990bd1db6c440818370e6970f8d2878 3 | timeCreated: 1726795597 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af9298d841d54058863af0add05e3d5c 3 | timeCreated: 1726796075 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Base.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad7dfd76e69c4732879237180a2c0560 3 | timeCreated: 1726801435 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Base/ItemViewBase.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public abstract class ItemViewBase : ViewBase 6 | { 7 | public override void OnGUI(Rect rect) 8 | { 9 | base.OnGUI(rect); 10 | CheckEvent(); 11 | } 12 | 13 | 14 | #region Event 15 | 16 | private void CheckEvent() 17 | { 18 | // 检测鼠标事件是否发生在 itemRect 内 19 | if (Event.current.type == EventType.MouseDown && Position.Contains(Event.current.mousePosition)) 20 | { 21 | // Event.current.Use(); 22 | OnClick(Event.current); 23 | } 24 | } 25 | 26 | protected virtual void OnClick(Event ev) 27 | { 28 | } 29 | 30 | protected void StopPropagation() 31 | { 32 | Event.current.Use(); 33 | } 34 | 35 | #endregion 36 | } 37 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Base/ItemViewBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 574d358ac3144790b070d3732da8b78d 3 | timeCreated: 1726816718 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Base/ViewBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23c7bfac023a4db68e26fe4c87c0df7e 3 | timeCreated: 1726796084 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/SplitterView.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public class SplitterView : ViewBase 7 | { 8 | private bool isResizing = false; 9 | 10 | public float Width; 11 | private float _minWidth; 12 | 13 | public float OnSplit(Rect rect, float width, float minWidth = 220) 14 | { 15 | Width = width; 16 | _minWidth = minWidth; 17 | OnGUI(rect); 18 | return Width; 19 | } 20 | 21 | public override void OnDraw() 22 | { 23 | // 绘制分隔条,可以拖动改变左右区域比例 24 | GUILayout.BeginArea(new Rect(Width, 0, Styles.SplitterWidth, Position.height), 25 | EditorStyles.helpBox); 26 | EditorGUIUtility.AddCursorRect(new Rect(0, 0, Styles.SplitterWidth, Position.height), 27 | MouseCursor.ResizeHorizontal); 28 | GUILayout.EndArea(); 29 | 30 | // 检测鼠标事件,拖动分隔条时调整左右区域的比例 31 | HandleSplitterResize(Width, Position); 32 | } 33 | 34 | private void HandleSplitterResize(float leftPanelWidth, Rect rect) 35 | { 36 | Rect splitterRect = new Rect(leftPanelWidth, 0, Styles.SplitterWidth, rect.height); 37 | 38 | // 检查鼠标事件 39 | if (Event.current.type == EventType.MouseDown && splitterRect.Contains(Event.current.mousePosition)) 40 | { 41 | isResizing = true; 42 | Event.current.Use(); 43 | } 44 | 45 | if (isResizing && Event.current.type == EventType.MouseDrag) 46 | { 47 | var leftPanelWidthPercent = Mathf.Clamp(Event.current.mousePosition.x / rect.width, 0.1f, 0.9f); 48 | Width = Mathf.Clamp(rect.width * leftPanelWidthPercent, _minWidth, Position.width); 49 | Window.Repaint(); // 刷新窗口 50 | } 51 | 52 | if (Event.current.type == EventType.MouseUp) 53 | { 54 | isResizing = false; 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/SplitterView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30d605475588454cb4d9d8c27773ba32 3 | timeCreated: 1726802264 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc5e26b233a74fc29d9cb903c125a873 3 | timeCreated: 1726801442 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDragger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12bd2da2cc7a4f5d9878aedaa4300de5 3 | timeCreated: 1727249474 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9d3bc1d45e34b438b24babcc081d9a3 3 | timeCreated: 1727234689 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/BasicClipDraw.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b82fdb4c58e495d9a3a6702e6ccd00a 3 | timeCreated: 1727234734 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/ClipDrawer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace NBC.ActionEditor 8 | { 9 | public static class ClipDrawer 10 | { 11 | // private static Dictionary _clipDrawDictionary = new Dictionary(); 12 | 13 | private static Dictionary _clipDraws = new Dictionary(); 14 | 15 | static ClipDrawer() 16 | { 17 | // _clipDrawDictionary.Add(typeof(SimpleClipDraw), new SimpleClipDraw()); 18 | // _clipDrawDictionary.Add(typeof(BasicClipDraw), new BasicClipDraw()); 19 | // _clipDrawDictionary.Add(typeof(SignalClipDraw), new SignalClipDraw()); 20 | } 21 | 22 | #region Get 23 | 24 | public static List GetClips(Rect rect) 25 | { 26 | List list = new List(); 27 | foreach (var clip in _clipDraws.Keys) 28 | { 29 | var draw = _clipDraws[clip]; 30 | if (rect.Overlaps(draw.ClipRealRect)) 31 | { 32 | list.Add(clip); 33 | } 34 | } 35 | 36 | return list; 37 | } 38 | 39 | public static bool ClipContainsByRealRect(Vector2 pos) 40 | { 41 | foreach (var clip in _clipDraws.Keys) 42 | { 43 | var draw = _clipDraws[clip]; 44 | if (draw.ClipRealRect.Contains(pos)) 45 | { 46 | return true; 47 | } 48 | } 49 | 50 | return false; 51 | } 52 | 53 | public static Clip GetClipByTrackPosition(IDirectable track, Vector2 mousePosition) 54 | { 55 | foreach (var clip in _clipDraws.Keys) 56 | { 57 | if (clip.Parent != track) continue; 58 | var draw = _clipDraws[clip]; 59 | if (draw.ClipRect.Contains(mousePosition)) 60 | { 61 | return clip; 62 | } 63 | } 64 | 65 | return null; 66 | } 67 | 68 | #endregion 69 | 70 | #region Draw 71 | 72 | public static void Reset() 73 | { 74 | List clips = new List(); 75 | var asset = App.AssetData; 76 | if (asset == null) return; 77 | foreach (var group in asset.groups) 78 | { 79 | foreach (var track in group.Tracks) 80 | { 81 | clips.AddRange(track.Clips); 82 | } 83 | } 84 | 85 | List invalidClips = _clipDraws.Keys.Where(clip => !clips.Contains(clip)).ToList(); 86 | foreach (var clip in invalidClips) 87 | { 88 | _clipDraws.Remove(clip); 89 | } 90 | 91 | foreach (var clip in clips) 92 | { 93 | if (!_clipDraws.ContainsKey(clip)) 94 | { 95 | var type = typeof(BasicClipDraw); 96 | if (clip is ClipSignal) 97 | { 98 | type = typeof(SignalClipDraw); 99 | } 100 | 101 | _clipDraws[clip] = Activator.CreateInstance(type) as BasicClipDraw; 102 | } 103 | } 104 | } 105 | 106 | public static ClipDrawBase GetDraw(T clip) where T : Clip 107 | { 108 | return _clipDraws.GetValueOrDefault(clip); 109 | } 110 | 111 | // public static ClipDrawBase Draw(EditorWindow window, Rect trackRect, Rect trackRightRect, T clip, 112 | // bool select, 113 | // Type drawType = null) where T : Clip 114 | // { 115 | // if (_clipDraws.TryGetValue(clip, out var draw)) 116 | // { 117 | // draw.Draw(window, trackRect, trackRightRect, clip, select); 118 | // return draw; 119 | // } 120 | // 121 | // return default; 122 | // } 123 | 124 | #endregion 125 | } 126 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/ClipDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0fee1b9f90e042da9c9d5eb06d858631 3 | timeCreated: 1727245846 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/SignalClipDraw.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public class SignalClipDraw : BasicClipDraw 6 | { 7 | protected override void OnDraw() 8 | { 9 | GUI.color = Select ? new Color(153 / 255f, 242 / 255f, 1) : Styles.ClipBackColor; 10 | ClipRect.width = Styles.SignalIcon.width; 11 | ClipRect.height = Styles.SignalIcon.height; 12 | // var showRect = new Rect(ClipRect); 13 | ClipRect.x -= (int)(Styles.SignalIcon.width * 0.5f); 14 | GUI.DrawTexture(ClipRect, Styles.SignalIcon); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/SignalClipDraw.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea343dc3a2ea4d06b50a8c143520ed2b 3 | timeCreated: 1727245818 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/SimpleClipDraw.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public class SimpleClipDraw : ClipDrawBase 6 | { 7 | protected override void OnDraw() 8 | { 9 | GUI.color = Styles.ClipBackColor.WithAlpha(0.5f); 10 | if (ClipRect.width < 1) 11 | { 12 | ClipRect.width = 5; 13 | ClipRect.x -= 2; 14 | } 15 | 16 | GUI.DrawTexture(ClipRect, Styles.WhiteTexture); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/ClipDraw/SimpleClipDraw.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 778e6bed42084851bd36e57680ad3c92 3 | timeCreated: 1727245903 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineBottomView.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public class TimelineBottomView : ViewBase 7 | { 8 | public override void OnDraw() 9 | { 10 | ShowTimeSlider(); 11 | } 12 | 13 | void ShowTimeSlider() 14 | { 15 | var asset = App.AssetData; 16 | if(asset == null) return; 17 | var left = Styles.TimelineLeftWidth + Styles.RightGapWidth; 18 | var rect = new Rect(Position.x + left, Position.y, Position.width - left, Position.height); 19 | GUILayout.BeginArea(rect); 20 | var _timeMin = asset.ViewTimeMin; 21 | var _timeMax = asset.ViewTimeMax; 22 | 23 | GUI.color = Color.gray; 24 | 25 | var sliderRect = new Rect(5, 0, rect.width - 10, 18); 26 | EditorGUI.MinMaxSlider(sliderRect, ref _timeMin, ref _timeMax, 0, asset.Length); 27 | asset.ViewTimeMin = _timeMin; 28 | asset.ViewTimeMax = _timeMax; 29 | if (sliderRect.Contains(Event.current.mousePosition) && Event.current.clickCount == 2) 30 | { 31 | asset.ViewTimeMin = 0; 32 | asset.ViewTimeMax = asset.Length; 33 | } 34 | 35 | GUILayout.EndArea(); 36 | 37 | GUI.contentColor = Color.white; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineBottomView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 676923ca299c41df89ec985cb81f4ed9 3 | timeCreated: 1730387043 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineHeaderView.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public class TimelineHeaderView : ViewBase 7 | { 8 | private GUIStyle _customToolbarButtonStyle; 9 | 10 | public override void OnDraw() 11 | { 12 | DrawPlayControl(); 13 | DrawPlayHeader(); 14 | } 15 | 16 | #region Play control 17 | 18 | private float _buttonWidth = 30; 19 | 20 | private void DrawPlayControl() 21 | { 22 | if (_customToolbarButtonStyle == null) 23 | { 24 | _customToolbarButtonStyle = new GUIStyle(EditorStyles.toolbarButton) 25 | { 26 | fixedHeight = Styles.PlayControlHeight 27 | }; 28 | } 29 | 30 | var rect = new Rect(0, 0, Styles.TimelineLeftWidth, Styles.PlayControlHeight); 31 | GUILayout.BeginArea(rect); 32 | 33 | _buttonWidth = rect.width / 7; 34 | 35 | GUILayout.BeginHorizontal(EditorStyles.toolbar); 36 | 37 | if (DrawButton(Styles.BackIcon, Lan.BackMenuTips)) 38 | { 39 | App.TextAsset = null; 40 | // GUILayout.EndHorizontal(); 41 | // return; 42 | } 43 | 44 | if (DrawButton(Styles.FirstFrameIcon, Lan.FirstFrame)) 45 | { 46 | AssetPlayer.Inst.CurrentTime = 0; 47 | } 48 | 49 | if (DrawButton(Styles.PrevFrameIcon, Lan.StepBackwardTips)) 50 | { 51 | App.StepBackward(); 52 | } 53 | 54 | EditorGUI.BeginChangeCheck(); 55 | 56 | var isPlaying = DrawToggle(App.IsPlay, App.IsPlay ? Styles.StopIcon : Styles.PlayIcon, 57 | App.IsPlay ? Lan.StopTips : Lan.PlayTips); 58 | if (EditorGUI.EndChangeCheck()) 59 | { 60 | if (isPlaying) 61 | { 62 | App.Play(); 63 | } 64 | else 65 | { 66 | App.Stop(); 67 | } 68 | } 69 | 70 | var isPause = DrawToggle(App.IsPause, Styles.PauseIcon, Lan.PauseTips); 71 | if (EditorGUI.EndChangeCheck()) 72 | { 73 | App.Pause(isPause); 74 | } 75 | 76 | if (DrawButton(Styles.NextFrameIcon, Lan.StepForwardTips)) 77 | { 78 | App.StepForward(); 79 | } 80 | 81 | if (DrawButton(Styles.LastFrameIcon, Lan.PlayForwardTips)) 82 | { 83 | AssetPlayer.Inst.CurrentTime = AssetPlayer.Inst.Length; 84 | } 85 | 86 | App.IsRange = DrawToggle(App.IsRange, Styles.RangeIcon, Lan.StepBackwardTips); 87 | 88 | GUILayout.EndHorizontal(); 89 | GUILayout.EndArea(); 90 | } 91 | 92 | private bool DrawButton(Texture image, string tooltip) 93 | { 94 | return GUILayout.Button(new GUIContent(image, tooltip), 95 | _customToolbarButtonStyle, GUILayout.Width(_buttonWidth)); 96 | } 97 | 98 | private bool DrawToggle(bool value, Texture image, string tooltip) 99 | { 100 | return GUILayout.Toggle(value, new GUIContent(image, tooltip), _customToolbarButtonStyle, 101 | GUILayout.Width(_buttonWidth)); 102 | } 103 | 104 | #endregion 105 | 106 | #region Header 107 | 108 | private Rect _headerRect; 109 | 110 | private void DrawPlayHeader() 111 | { 112 | var gap = Styles.TimelineLeftWidth + Styles.SplitterWidth; 113 | _headerRect = new Rect(Position.x + gap, Position.y, 114 | Position.width - gap, 115 | Position.height - Styles.HeaderHeight); 116 | 117 | GUILayout.BeginArea(_headerRect); 118 | CustomizedDrawTools.Draw(); 119 | GUILayout.EndArea(); 120 | 121 | 122 | GUI.color = Color.black.WithAlpha(0.2f); 123 | GUI.DrawTexture(new Rect(_headerRect.x, _headerRect.y + _headerRect.height, _headerRect.width, 1), 124 | Styles.WhiteTexture); 125 | } 126 | 127 | #endregion 128 | } 129 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineHeaderView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68ddb2a77a4943be95a315e2cf5e7f82 3 | timeCreated: 1726818092 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineMiddleView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e97c5bb04a34c51bb689aad70f74edd 3 | timeCreated: 1726818691 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelinePointerView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9762e7ccbdf47b8a46444b4688623dd 3 | timeCreated: 1726924062 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineTrackItemView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9740a024375b47daacb3040efc8ad96d 3 | timeCreated: 1726817997 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/Timeline/TimelineView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29fd0ea77ca6478d9ab79107c1fb2ebb 3 | timeCreated: 1726797105 -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/WelcomeView.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public class WelcomeView : ViewBase 6 | { 7 | public override void OnDraw() 8 | { 9 | GUILayout.BeginVertical(); 10 | GUILayout.FlexibleSpace(); 11 | 12 | if (Styles.Logo != null) 13 | { 14 | GUILayout.BeginHorizontal(); 15 | GUILayout.FlexibleSpace(); 16 | GUILayout.Label(Styles.Logo, GUILayout.Width(128), GUILayout.Height(128)); // 设置图片尺寸 17 | GUILayout.FlexibleSpace(); 18 | GUILayout.EndHorizontal(); 19 | } 20 | 21 | GUILayout.BeginHorizontal(); 22 | GUILayout.FlexibleSpace(); 23 | GUIStyle titleStyle = new GUIStyle(GUI.skin.label); 24 | titleStyle.fontSize = 30; 25 | titleStyle.fontStyle = FontStyle.Bold; 26 | GUILayout.Label("行为时间轴编辑器", titleStyle); 27 | GUILayout.FlexibleSpace(); 28 | GUILayout.EndHorizontal(); 29 | 30 | GUILayout.Space(20); 31 | 32 | GUI.backgroundColor = new Color(0.8f, 0.8f, 1, 1f); 33 | 34 | if (DrawCenteredButton(Lan.CreateAsset)) 35 | { 36 | CreateAssetWindow.Show(); 37 | } 38 | 39 | GUI.backgroundColor = Color.white; 40 | if (DrawCenteredButton(Lan.SelectAsset)) 41 | { 42 | // ObjectSelectorWindow.ShowObjectPicker(null, App.OnObjectPickerConfig, "Assets/"); 43 | ObjectSelectorWindow.ShowObjectPicker(null, App.OnObjectPickerConfig, "Assets/"); 44 | } 45 | 46 | if (DrawCenteredButton(Lan.Seeting)) 47 | { 48 | PreferencesWindow.Show(new Rect(Styles.ScreenWidth - 5 - 400, 25, 400, 49 | Styles.ScreenHeight - 70)); 50 | } 51 | 52 | GUILayout.FlexibleSpace(); 53 | GUILayout.EndVertical(); 54 | } 55 | 56 | private bool DrawCenteredButton(string buttonText) 57 | { 58 | var ret = false; 59 | GUILayout.BeginHorizontal(); 60 | GUILayout.FlexibleSpace(); 61 | if (GUILayout.Button(buttonText, GUILayout.Width(220), GUILayout.Height(40))) 62 | { 63 | ret = true; 64 | } 65 | 66 | GUILayout.FlexibleSpace(); 67 | GUILayout.EndHorizontal(); 68 | return ret; 69 | } 70 | } 71 | } -------------------------------------------------------------------------------- /Editor/GUIS/ActionEditor/Views/WelcomeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c029ce4cec81431a99240d6447a2259a 3 | timeCreated: 1726796838 -------------------------------------------------------------------------------- /Editor/GUIS/CreateAssetWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEditor.EditorTools; 4 | using UnityEngine; 5 | 6 | namespace NBC.ActionEditor 7 | { 8 | public class CreateAssetWindow : PopupWindowContent 9 | { 10 | private static Rect _myRect; 11 | private static string _selectType; 12 | private static string _createName; 13 | 14 | public static void Show() 15 | { 16 | var rect = new Rect(20, 25, 400, 150); 17 | _myRect = rect; 18 | PopupWindow.Show(new Rect(rect.x, rect.y, 0, 0), new CreateAssetWindow()); 19 | } 20 | 21 | public override Vector2 GetWindowSize() 22 | { 23 | return new Vector2(_myRect.width, _myRect.height); 24 | } 25 | 26 | public override void OnGUI(Rect rect) 27 | { 28 | GUILayout.BeginVertical("box"); 29 | 30 | GUI.color = new Color(0, 0, 0, 0.3f); 31 | 32 | GUILayout.BeginHorizontal(Styles.HeaderBoxStyle); 33 | GUI.color = Color.white; 34 | GUILayout.Label($"{Lan.CreateAsset}"); 35 | GUILayout.EndHorizontal(); 36 | GUILayout.Space(2); 37 | 38 | GUILayout.BeginVertical("box"); 39 | 40 | _selectType = EditorTools.CleanPopup(Lan.CrateAssetType, _selectType, Prefs.AssetNames); 41 | _createName = EditorGUILayout.TextField(new GUIContent(Lan.CrateAssetName, Lan.CreateAssetFileName), 42 | _createName); 43 | GUI.backgroundColor = new Color(1, 0.5f, 0.5f); 44 | if (GUILayout.Button(new GUIContent(Lan.CreateAssetConfirm))) 45 | { 46 | CreateConfirm(); 47 | } 48 | 49 | GUI.backgroundColor = Color.white; 50 | if (GUILayout.Button(new GUIContent(Lan.CreateAssetReset))) 51 | { 52 | _selectType = Prefs.AssetNames[0]; 53 | _createName = string.Empty; 54 | } 55 | 56 | GUILayout.EndVertical(); 57 | } 58 | 59 | void CreateConfirm() 60 | { 61 | var path = $"{Prefs.savePath}/{_createName}.json"; 62 | if (string.IsNullOrEmpty(_createName)) 63 | { 64 | EditorUtility.DisplayDialog(Lan.TipsTitle, Lan.CreateAssetTipsNameNull, Lan.TipsConfirm); 65 | } 66 | else if (AssetDatabase.LoadAssetAtPath(path) != null) 67 | { 68 | EditorUtility.DisplayDialog(Lan.TipsTitle, Lan.CreateAssetTipsRepetitive, Lan.TipsConfirm); 69 | } 70 | else 71 | { 72 | var t = Prefs.AssetTypes[_selectType]; 73 | var inst = Activator.CreateInstance(t); 74 | if (inst != null) 75 | { 76 | var json = Json.Serialize(inst); 77 | System.IO.File.WriteAllText(path, json); 78 | AssetDatabase.Refresh(); 79 | var textAsset = AssetDatabase.LoadAssetAtPath(path); 80 | if (textAsset != null) 81 | { 82 | App.OnObjectPickerConfig(textAsset); 83 | } 84 | editorWindow.Close(); 85 | } 86 | } 87 | } 88 | } 89 | } -------------------------------------------------------------------------------- /Editor/GUIS/CreateAssetWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a368b48e50f45e797eb364d1bff797f 3 | timeCreated: 1726799030 -------------------------------------------------------------------------------- /Editor/GUIS/Customized.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d56bae3daaf647b0b672ca42dc14d7aa 3 | timeCreated: 1730343286 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/CustomizedDrawTools.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public class CustomizedDrawTools 7 | { 8 | #region 可定制GUI 9 | 10 | /// 11 | /// 类型映射 12 | /// 13 | private static readonly Dictionary _customizedTypeDic = new Dictionary(); 14 | 15 | /// 16 | /// 类型实例映射 17 | /// 18 | private static readonly Dictionary _customizedInstDic = new Dictionary(); 19 | 20 | public static void Draw() where T : ICustomized 21 | { 22 | var type = typeof(T); 23 | if (_customizedInstDic.TryGetValue(type, out var customized) && customized != null) 24 | { 25 | customized.OnGUI(); 26 | return; 27 | } 28 | 29 | var subType = GetSubclassType(type); 30 | if (subType == null) return; 31 | _customizedTypeDic[type] = subType; 32 | if (Activator.CreateInstance(subType) is ICustomized custom) 33 | { 34 | _customizedInstDic[type] = custom; 35 | custom.OnGUI(); 36 | } 37 | } 38 | 39 | private static Type GetSubclassType(Type type) 40 | { 41 | if (_customizedTypeDic.TryGetValue(type, out var t)) 42 | { 43 | return t; 44 | } 45 | 46 | EditorTools.GetTypeLastSubclass(type, _customizedTypeDic); 47 | if (_customizedTypeDic.TryGetValue(type, out t)) 48 | { 49 | return t; 50 | } 51 | 52 | return null; 53 | } 54 | 55 | #endregion 56 | } 57 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/CustomizedDrawTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e824e3e530dd49dd8dfe95b7e73af024 3 | timeCreated: 1730343564 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/EditorCustomFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fbdd871215844508b90184a82e29cec 3 | timeCreated: 1730344771 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Header.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b916fa3e8b442a692f8795709db5609 3 | timeCreated: 1730344608 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Header/HeaderBase.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public abstract class HeaderBase 4 | { 5 | public abstract void OnGUI(); 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Header/HeaderBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2faf2ee3510498884548206b4aebbc3 3 | timeCreated: 1730344620 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Header/HeaderGUI.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public class HeaderGUI : ICustomized 7 | { 8 | public void OnGUI() 9 | { 10 | GUILayout.BeginHorizontal(EditorStyles.toolbar); 11 | 12 | DrawNowAssetName(); 13 | DrawAssetsHeader(); 14 | GUILayout.FlexibleSpace(); 15 | 16 | DrawToolbarRight(); 17 | 18 | GUILayout.EndHorizontal(); 19 | } 20 | 21 | protected virtual void DrawAssetsHeader() 22 | { 23 | if (App.AssetData == null) return; 24 | var customAssetHeader = EditorCustomFactory.GetHeader(App.AssetData); 25 | customAssetHeader?.OnGUI(); 26 | } 27 | 28 | protected virtual void DrawNowAssetName() 29 | { 30 | var gName = App.TextAsset != null ? App.TextAsset.name : ""; 31 | var size = GUI.skin.label.CalcSize(new GUIContent(gName)); 32 | var width = size.x + 8; 33 | if (width < 80) width = 80; 34 | if (GUILayout.Button($"[{gName}]", EditorStyles.toolbarDropDown, GUILayout.Width(width))) 35 | { 36 | App.AutoSave(); 37 | ObjectSelectorWindow.ShowObjectPicker(null, App.OnObjectPickerConfig, "Assets/"); 38 | } 39 | } 40 | 41 | 42 | protected virtual void DrawToolbarRight() 43 | { 44 | //显示保持状态 45 | GUI.color = Color.white.WithAlpha(0.3f); 46 | GUI.skin.label.richText = true; 47 | GUILayout.Label( 48 | $"{string.Format(Lan.HeaderLastSaveTime, App.LastSaveTime.ToString("HH:mm:ss"))}"); 49 | GUI.color = Color.white; 50 | 51 | if (GUILayout.Button(new GUIContent(Styles.SaveIcon, Lan.Save), EditorStyles.toolbarButton, 52 | GUILayout.Width(26))) 53 | { 54 | App.AutoSave(); //先保存当前的 55 | } 56 | 57 | Prefs.MagnetSnapping = GUILayout.Toggle(Prefs.MagnetSnapping, 58 | new GUIContent(Styles.MagnetIcon, Lan.OpenMagnetSnappingTips), 59 | EditorStyles.toolbarButton); 60 | 61 | if (GUILayout.Button(new GUIContent(Styles.SettingsIcon, Lan.OpenPreferencesTips), 62 | EditorStyles.toolbarButton, GUILayout.Width(26))) 63 | { 64 | PreferencesWindow.Show(new Rect(Styles.ScreenWidth - 5 - 400 - Styles.TimelineLeftTotalWidth, 25, 400, 65 | Styles.ScreenHeight - 70)); 66 | 67 | // PreferencesWindow.Show(new Rect(G.ScreenWidth - 5 - 400, Styles.TOOLBAR_HEIGHT + 5, 400, 68 | // G.ScreenHeight - Styles.TOOLBAR_HEIGHT - 50)); 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Header/HeaderGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44fe374f16874682881cb81e7e8ec16f 3 | timeCreated: 1730343403 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/ICustomized.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public interface ICustomized 4 | { 5 | void OnGUI(); 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/ICustomized.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 565b99ec09a74ec4aa2cba0241d3ce75 3 | timeCreated: 1730343434 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c638418e897cb484784ee445a7f81075 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25bfe94f97c84e87b6e6a97479d82723 3 | timeCreated: 1683598121 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/ActionClipInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d4a2bbcab364421fbac5f6dbe2fd18d 3 | timeCreated: 1639381603 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/AssetInspector.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | [CustomInspectors(typeof(Asset), true)] 6 | public class AssetInspector : InspectorsBase 7 | { 8 | private Asset action => (Asset)target; 9 | 10 | public override void OnInspectorGUI() 11 | { 12 | ShowCommonInspector(); 13 | base.OnInspectorGUI(); 14 | } 15 | 16 | protected void ShowCommonInspector(bool showBaseInspector = true) 17 | { 18 | EditorGUILayout.TextField("Name", action.Length.ToString()); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/AssetInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d716975a9a545de861fefb88b2c17a6 3 | timeCreated: 1678332575 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/GroupInspector.cs: -------------------------------------------------------------------------------- 1 | using NBC.ActionEditor; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace NBC.ActionEditor.Design.Editor.Inspectors 6 | { 7 | public abstract class GroupInspector : ActionClipInspector where T : Group 8 | { 9 | protected T action => (T)target; 10 | } 11 | 12 | [CustomInspectors(typeof(Group), true)] 13 | public class GroupInspector : InspectorsBase 14 | { 15 | private Group action => (Group)target; 16 | 17 | public override void OnInspectorGUI() 18 | { 19 | ShowCommonInspector(); 20 | } 21 | 22 | protected void ShowCommonInspector(bool showBaseInspector = true) 23 | { 24 | action.Name = EditorGUILayout.TextField("Name", action.Name); 25 | if (showBaseInspector) 26 | { 27 | base.OnInspectorGUI(); 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/GroupInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f1af75f4fa95496783a80d12b1c1f60 3 | timeCreated: 1639446374 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/TrackInspector.cs: -------------------------------------------------------------------------------- 1 | using NBC.ActionEditor; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace NBC.ActionEditor 6 | { 7 | public abstract class TrackInspector : TrackInspector where T : Track 8 | { 9 | protected T action => (T)target; 10 | } 11 | 12 | [CustomInspectors(typeof(Track), true)] 13 | public class TrackInspector : InspectorsBase 14 | { 15 | private Track action => (Track)target; 16 | 17 | public override void OnInspectorGUI() 18 | { 19 | ShowCommonInspector(); 20 | } 21 | 22 | 23 | protected void ShowCommonInspector(bool showBaseInspector = true) 24 | { 25 | action.Name = EditorGUILayout.TextField("Name", action.Name); 26 | if (showBaseInspector) 27 | { 28 | base.OnInspectorGUI(); 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/Com/TrackInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f20270083fd0145dd98d035c67165718 3 | timeCreated: 1639446317 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/InspectorPreviewAssetInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39e44d10f51f434b86781f9d221d81bc 3 | timeCreated: 1679632712 -------------------------------------------------------------------------------- /Editor/GUIS/Customized/Inspectors/InspectorsBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 736d8f5e613eb47f2b943824a35ea106 3 | timeCreated: 1639379933 -------------------------------------------------------------------------------- /Editor/GUIS/ObjectSelectorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7f5f91a03634e98ac7aff43da23fb15 3 | timeCreated: 1726800175 -------------------------------------------------------------------------------- /Editor/GUIS/PreferencesWindow.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace NBC.ActionEditor 6 | { 7 | public class PreferencesWindow : PopupWindowContent 8 | { 9 | private static Rect _myRect; 10 | private bool firstPass = true; 11 | 12 | public static void Show(Rect rect) 13 | { 14 | _myRect = rect; 15 | PopupWindow.Show(new Rect(rect.x, rect.y, 0, 0), new PreferencesWindow()); 16 | } 17 | 18 | public override Vector2 GetWindowSize() 19 | { 20 | return new Vector2(_myRect.width, _myRect.height); 21 | } 22 | 23 | public override void OnGUI(Rect rect) 24 | { 25 | GUILayout.BeginVertical("box"); 26 | GUI.color = new Color(0, 0, 0, 0.3f); 27 | 28 | GUILayout.BeginHorizontal(Styles.HeaderBoxStyle); 29 | GUI.color = Color.white; 30 | GUILayout.Label($"{Lan.PreferencesTitle}"); 31 | GUILayout.EndHorizontal(); 32 | GUILayout.Space(2); 33 | 34 | GUILayout.BeginVertical("box"); 35 | var lan = EditorTools.CleanPopup("Language", Lan.Language, 36 | Lan.AllLanguages.Keys.ToList()); 37 | if (lan != Lan.Language) 38 | { 39 | Lan.SetLanguage(lan); 40 | } 41 | 42 | GUILayout.EndVertical(); 43 | 44 | GUILayout.BeginVertical("box"); 45 | Prefs.timeStepMode = 46 | (Prefs.TimeStepMode)EditorGUILayout.EnumPopup(Lan.PreferencesTimeStepMode, Prefs.timeStepMode); 47 | if (Prefs.timeStepMode == Prefs.TimeStepMode.Seconds) 48 | { 49 | Prefs.SnapInterval = EditorTools.CleanPopup(Lan.PreferencesSnapInterval, Prefs.SnapInterval, 50 | Prefs.snapIntervals.ToList()); 51 | } 52 | else 53 | { 54 | Prefs.FrameRate = EditorTools.CleanPopup(Lan.PreferencesFrameRate, Prefs.FrameRate, 55 | Prefs.frameRates.ToList()); 56 | } 57 | 58 | GUILayout.EndVertical(); 59 | 60 | GUILayout.BeginVertical("box"); 61 | Prefs.MagnetSnapping = 62 | EditorGUILayout.Toggle(new GUIContent(Lan.PreferencesMagnetSnapping, Lan.PreferencesMagnetSnappingTips), 63 | Prefs.MagnetSnapping); 64 | Prefs.scrollWheelZooms = 65 | EditorGUILayout.Toggle( 66 | new GUIContent(Lan.PreferencesScrollWheelZooms, Lan.PreferencesScrollWheelZoomsTips), 67 | Prefs.scrollWheelZooms); 68 | GUILayout.EndVertical(); 69 | 70 | GUILayout.BeginVertical("box"); 71 | 72 | Prefs.savePath = EditorTools.GUILayoutGetFolderPath(Lan.PreferencesSavePath, Lan.PreferencesSavePathTips, 73 | Prefs.savePath, true); 74 | 75 | Prefs.autoSaveSeconds = EditorGUILayout.IntSlider( 76 | new GUIContent(Lan.PreferencesAutoSaveTime, Lan.PreferencesAutoSaveTimeTips), Prefs.autoSaveSeconds, 5, 77 | 120); 78 | GUILayout.EndVertical(); 79 | 80 | 81 | GUILayout.EndVertical(); 82 | 83 | DrawHelpButton(); 84 | 85 | if (firstPass || Event.current.type == EventType.Repaint) 86 | { 87 | firstPass = false; 88 | _myRect.height = GUILayoutUtility.GetLastRect().yMax + 5; 89 | } 90 | } 91 | 92 | protected virtual void DrawHelpButton() 93 | { 94 | if (GUILayout.Button(Lan.PreferencesHelpDoc)) 95 | { 96 | Application.OpenURL("https://nobug.cn/book/414447506088261"); 97 | } 98 | } 99 | } 100 | } -------------------------------------------------------------------------------- /Editor/GUIS/PreferencesWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f476c6fc2de944008b2cbae4c9b2c155 3 | timeCreated: 1726800449 -------------------------------------------------------------------------------- /Editor/Languages.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd1c0b6c91534529aebe1b513c425691 3 | timeCreated: 1726798214 -------------------------------------------------------------------------------- /Editor/Languages/ILanguages.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public interface ILanguages 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Editor/Languages/ILanguages.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3848af5c64745fe93fb6f7d990c4d1f 3 | timeCreated: 1683366037 -------------------------------------------------------------------------------- /Editor/Languages/Lan.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b264dc398fe84f94bc25192f8abfd533 3 | timeCreated: 1683175577 -------------------------------------------------------------------------------- /Editor/Languages/LanCHS.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | [Name("简体中文")] 4 | public class LanCHS : ILanguages 5 | { 6 | 7 | //********** Welcome ********* 8 | public static string Title = "行为时间轴编辑器"; 9 | public static string CreateAsset = "创建时间轴"; 10 | public static string SelectAsset = "选择时间轴"; 11 | public static string Seeting = "编辑器配置"; 12 | 13 | 14 | //********** Crate Window ********* 15 | public static string CrateAssetType = "创建类型"; 16 | public static string CrateAssetName = "时间轴名称"; 17 | public static string CreateAssetFileName = "时间轴的文件名称"; 18 | public static string CreateAssetConfirm = "创建"; 19 | public static string CreateAssetReset = "重置"; 20 | public static string CreateAssetTipsNameNull = "名称不能为空"; 21 | public static string CreateAssetTipsRepetitive = "已存在同名时间轴"; 22 | 23 | 24 | //********** Preferences Window ********* 25 | public static string PreferencesTitle = "编辑器首选项"; 26 | public static string PreferencesTimeStepMode = "时间步长模式"; 27 | public static string PreferencesSnapInterval = "时间步长"; 28 | public static string PreferencesFrameRate = "帧率"; 29 | public static string PreferencesMagnetSnapping = "剪辑吸附"; 30 | public static string PreferencesMagnetSnappingTips = "是否开启剪辑自动吸附前后其他剪辑"; 31 | public static string PreferencesScrollWheelZooms = "滚轮缩放"; 32 | public static string PreferencesScrollWheelZoomsTips = "是否开启滚轮缩放时间轴区域"; 33 | public static string PreferencesSavePath = "配置保存地址"; 34 | public static string PreferencesSavePathTips = "创建和选择时的默认地址"; 35 | public static string PreferencesAutoSaveTime = "自动保存时间"; 36 | public static string PreferencesAutoSaveTimeTips = "定时自动保存操作的间隔时间"; 37 | public static string PreferencesHelpDoc = "帮助文档"; 38 | 39 | 40 | //********** Commom ********* 41 | public static string Select = "选择"; 42 | public static string SelectFile = "选择文件"; 43 | public static string SelectFolder = "选择文件夹"; 44 | public static string TipsTitle = "提示"; 45 | public static string TipsConfirm = "确定"; 46 | public static string TipsCancel = "取消"; 47 | public static string CompilingTips = "编译中\n...请稍后..."; 48 | public static string Disable = "禁用"; 49 | public static string Locked = "锁定"; 50 | public static string Save = "保存"; 51 | 52 | //********** Header ********* 53 | public static string HeaderLastSaveTime = "最后保存时间:{0}"; 54 | public static string HeaderSelectAsset = "选中:[{0}]"; 55 | public static string OpenPreferencesTips = "打开首选项界面"; 56 | public static string SelectAssetTips = "点击切换时间轴"; 57 | public static string OpenMagnetSnappingTips = "开启剪辑磁性吸附"; 58 | public static string NewAssetTips = "新建时间轴"; 59 | public static string BackMenuTips = "返回主菜单"; 60 | public static string PlayLoopTips = "循环播放"; 61 | public static string PlayForwardTips = "跳转结尾处"; 62 | public static string StepForwardTips = "跳转下一帧"; 63 | public static string PauseTips = "点击暂停"; 64 | public static string PlayTips = "点击播放"; 65 | public static string StopTips = "点击停止播放"; 66 | public static string StepBackwardTips = "跳转上一帧"; 67 | 68 | //********** Group Menu ********* 69 | public static string MenuAddTrack = "添加轨道"; 70 | public static string MenuPasteTrack = "粘贴轨道"; 71 | public static string GroupAdd = "添加组"; 72 | public static string GroupDisable = "禁用组"; 73 | public static string GroupLocked = "锁定组"; 74 | public static string GroupReplica = "复制组"; 75 | public static string GroupDelete = "删除组"; 76 | public static string GroupDeleteTips = "确定删除组吗?"; 77 | 78 | //********** Track Menu ********* 79 | public static string TrackDisable = "禁用轨道"; 80 | public static string TrackLocked = "锁定轨道"; 81 | public static string TrackCopy = "拷贝轨道"; 82 | public static string TrackReplica = "复制轨道"; 83 | public static string TrackDelete = "删除轨道"; 84 | public static string TrackDeleteTips = "确定删除改轨道吗?"; 85 | 86 | //********** Clip Menu ********* 87 | public static string ClipCopy = "拷贝"; 88 | public static string ClipCut = "剪切"; 89 | public static string ClipDelete = "删除"; 90 | public static string MatchClipLength = "匹配长度"; 91 | public static string MatchPreviousLoop = "匹配上个循环"; 92 | public static string MatchNextLoop = "匹配下个循环"; 93 | public static string ClipPaste = "粘贴 ({0})"; 94 | 95 | //********** Inspector ********* 96 | public static string NotSelectAsset = "当前没有选中的时间轴对象。"; 97 | public static string InsBaseInfo = "{0} 基础信息"; 98 | public static string OverflowInvalid = "剪辑超出有效范围"; 99 | public static string EndTimeOverflowInvalid = "剪辑结束时间超出有效范围"; 100 | public static string StartTimeOverflowInvalid = "剪辑开始时间超出可播放范围"; 101 | } 102 | } -------------------------------------------------------------------------------- /Editor/Languages/LanCHS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dca61ae3eb3844f9b1642552a94e899f 3 | timeCreated: 1683430229 -------------------------------------------------------------------------------- /Editor/Languages/LanEN.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf167bc02e2d48cf8e37053571d3c09d 3 | timeCreated: 1683366255 -------------------------------------------------------------------------------- /Editor/NBC.ActionEditor.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NBC.ActionEditor.Editor", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:7d31d11ba62f20b4d89380d87c02f0e4" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Editor/NBC.ActionEditor.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a65e97bc6b8576642bb25059ad62fcc5 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Preview.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27eb67e14a9e1fd4283730d4842b2b8d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Preview/AssetPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 787fcb65b6bec4610bc29e3e87a0a869 3 | timeCreated: 1643182795 -------------------------------------------------------------------------------- /Editor/Preview/PreviewBase.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public abstract class PreviewBase : PreviewBase where T : IDirectable 4 | { 5 | public T clip => (T)directable; 6 | } 7 | 8 | public abstract class PreviewBase 9 | { 10 | public IDirectable directable; 11 | 12 | public void SetTarget(IDirectable t) 13 | { 14 | directable = t; 15 | } 16 | 17 | public virtual void Enter() 18 | { 19 | } 20 | 21 | public virtual void Exit() 22 | { 23 | } 24 | 25 | public virtual void ReverseEnter() 26 | { 27 | } 28 | 29 | public virtual void Reverse() 30 | { 31 | } 32 | 33 | 34 | public abstract void Update(float time, float previousTime); 35 | } 36 | } -------------------------------------------------------------------------------- /Editor/Preview/PreviewBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56bba5dc7abf8465c8e3802c977a6dcd 3 | timeCreated: 1643181797 -------------------------------------------------------------------------------- /Editor/Preview/TimePointers.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace NBC.ActionEditor 3 | { 4 | public interface IDirectableTimePointer 5 | { 6 | PreviewBase target { get; } 7 | float time { get; } 8 | void TriggerForward(float currentTime, float previousTime); 9 | void TriggerBackward(float currentTime, float previousTime); 10 | void Update(float currentTime, float previousTime); 11 | } 12 | 13 | public struct StartTimePointer : IDirectableTimePointer 14 | { 15 | private bool triggered; 16 | private float lastTargetStartTime; 17 | public PreviewBase target { get; private set; } 18 | float IDirectableTimePointer.time => target.directable.StartTime; 19 | 20 | public StartTimePointer(PreviewBase target) 21 | { 22 | this.target = target; 23 | triggered = false; 24 | lastTargetStartTime = target.directable.StartTime; 25 | } 26 | 27 | void IDirectableTimePointer.TriggerForward(float currentTime, float previousTime) 28 | { 29 | if (!target.directable.IsActive) return; 30 | if (currentTime >= target.directable.StartTime) 31 | { 32 | if (!triggered) 33 | { 34 | triggered = true; 35 | target.Enter(); 36 | target.Update(target.directable.ToLocalTime(currentTime), 0); 37 | } 38 | } 39 | } 40 | 41 | void IDirectableTimePointer.Update(float currentTime, float previousTime) 42 | { 43 | if (!target.directable.IsActive) return; 44 | if (currentTime >= target.directable.StartTime && currentTime < target.directable.EndTime && 45 | currentTime > 0) 46 | { 47 | var deltaMoveClip = target.directable.StartTime - lastTargetStartTime; 48 | var localCurrentTime = target.directable.ToLocalTime(currentTime); 49 | var localPreviousTime = target.directable.ToLocalTime(previousTime + deltaMoveClip); 50 | 51 | target.Update(localCurrentTime, localPreviousTime); 52 | lastTargetStartTime = target.directable.StartTime; 53 | } 54 | } 55 | 56 | void IDirectableTimePointer.TriggerBackward(float currentTime, float previousTime) 57 | { 58 | if (!target.directable.IsActive) return; 59 | if (currentTime < target.directable.StartTime || currentTime <= 0) 60 | { 61 | if (triggered) 62 | { 63 | triggered = false; 64 | target.Update(0, target.directable.ToLocalTime(previousTime)); 65 | target.Reverse(); 66 | } 67 | } 68 | } 69 | } 70 | 71 | public struct EndTimePointer : IDirectableTimePointer 72 | { 73 | private bool triggered; 74 | public PreviewBase target { get; private set; } 75 | float IDirectableTimePointer.time => target.directable.EndTime; 76 | 77 | public EndTimePointer(PreviewBase target) 78 | { 79 | this.target = target; 80 | triggered = false; 81 | } 82 | 83 | void IDirectableTimePointer.TriggerForward(float currentTime, float previousTime) 84 | { 85 | if (!target.directable.IsActive) return; 86 | if (currentTime >= target.directable.EndTime) 87 | { 88 | if (!triggered) 89 | { 90 | triggered = true; 91 | target.Update(target.directable.GetLength(), target.directable.ToLocalTime(previousTime)); 92 | target.Exit(); 93 | } 94 | } 95 | } 96 | 97 | 98 | void IDirectableTimePointer.Update(float currentTime, float previousTime) 99 | { 100 | 101 | } 102 | 103 | 104 | void IDirectableTimePointer.TriggerBackward(float currentTime, float previousTime) 105 | { 106 | if (!target.directable.IsActive) return; 107 | if (currentTime < target.directable.EndTime || currentTime <= 0) 108 | { 109 | if (triggered) 110 | { 111 | triggered = false; 112 | target.ReverseEnter(); 113 | target.Update(target.directable.ToLocalTime(currentTime), target.directable.GetLength()); 114 | } 115 | } 116 | } 117 | } 118 | } -------------------------------------------------------------------------------- /Editor/Preview/TimePointers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25a04f42ae22b4c7bb0600957e3347aa 3 | timeCreated: 1643248712 -------------------------------------------------------------------------------- /Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a378af0e5b452e41a8027b6a2d42cec 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/nbc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a82c3120da9df248a769dcd299f2b61 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/Background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/Background.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/Background.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7b47fd1b1118bb4fa8f7f732f640e77 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/HeaderBoxImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/HeaderBoxImage.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/HeaderBoxImage.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24ff3175619799f44ac47ab6fdff9da4 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/Logo.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/Logo.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a565ffb56d0d444c85082f1c0e7cc5c 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/Signal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/Signal.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/Signal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6809b24f4c24624b904034f88021e0f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/Stripes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/Stripes.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/Stripes.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fa7b844727ccb14db02a945bbf44956 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/StyleSheet.guiskin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1dadcfa2042b1f4294d2c3aa5895d22 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineEndPlayback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/TimelineEndPlayback.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineEndPlayback.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1afdab7b0fec474db14e510daef9319 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 1 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 5e97eb03825dee720800000000000000 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineStartPlayback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/TimelineStartPlayback.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineStartPlayback.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bce9df23539a4fd4db8784078e6a62c5 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 1 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 5e97eb03825dee720800000000000000 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineTimeCursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/TimelineTimeCursor.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/TimelineTimeCursor.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c58e983cbb4db7a4bbd2efd60f68cfab 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 1 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 5e97eb03825dee720800000000000000 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/block.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/block.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c2ea21d71a7595429cfd360181fad7f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4119b45fb0b7554fb452c880ea0bb1e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Collapsed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/Collapsed.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Collapsed.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13c7a6b42b31a1d4fb62fedb021707cd 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/Create.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Create.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7748c10cdb90e944388b0cea84a920dd 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/Expanded.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Expanded.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5de42cde4e3d30f45afda130d3cf3e47 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/Lock.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Lock.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c45fce4e7abcb4418922ef4878f7fd0 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/Menu.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/Menu.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50277e1c02d60474bb4dfafe1d2bb1bd 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/magnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/magnet.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/magnet.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d2ee7f699e63c04b895ebc94ebccbf6 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/rollback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/rollback.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/rollback.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86302af329dfe7d46abc4037658bc47f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/save.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/save.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a26403185674fa948ae479c83597d1c0 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/icon/settings.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/icon/settings.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67d28dcbd177a0043810e9d749f8bc23 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00d5b5e873ffdad49875246d7ab171f4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/FirstFrame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/FirstFrame.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/FirstFrame.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b3d4fea489e91b40b96466b17ce329d 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/LastFrame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/LastFrame.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/LastFrame.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84823f6b728f48943bc1154b32eafa5b 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/NextFrame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/NextFrame.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/NextFrame.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbbb13c578db54b41bffe89938f17c69 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/Play.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Play.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 372ef45ffbfd75e4e89dc110e87ee2f7 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/PrevFrame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/PrevFrame.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/PrevFrame.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95c7e4101ba535244b587f390f2ee8f8 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/Preview.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Preview.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 614ccc393da46a244a7b87eb0eec5d97 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/Range.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/Range.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1c2b6de8b78449408cafb6b509c07e6 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 1 41 | wrapV: 1 42 | wrapW: 0 43 | nPOTScale: 0 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 1 56 | spriteTessellationDetail: -1 57 | textureType: 2 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | - serializedVersion: 3 97 | buildTarget: iPhone 98 | maxTextureSize: 2048 99 | resizeAlgorithm: 0 100 | textureFormat: -1 101 | textureCompression: 1 102 | compressionQuality: 50 103 | crunchedCompression: 0 104 | allowsAlphaSplitting: 0 105 | overridden: 0 106 | ignorePlatformSupport: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | - serializedVersion: 3 110 | buildTarget: Android 111 | maxTextureSize: 2048 112 | resizeAlgorithm: 0 113 | textureFormat: -1 114 | textureCompression: 1 115 | compressionQuality: 50 116 | crunchedCompression: 0 117 | allowsAlphaSplitting: 0 118 | overridden: 0 119 | ignorePlatformSupport: 0 120 | androidETC2FallbackOverride: 0 121 | forceMaximumCompressionQuality_BC6H_BC7: 0 122 | spriteSheet: 123 | serializedVersion: 2 124 | sprites: [] 125 | outline: [] 126 | physicsShape: [] 127 | bones: [] 128 | spriteID: 129 | internalID: 0 130 | vertices: [] 131 | indices: 132 | edges: [] 133 | weights: [] 134 | secondaryTextures: [] 135 | nameFileIdTable: {} 136 | mipmapLimitGroupName: 137 | pSDRemoveMatte: 0 138 | userData: 139 | assetBundleName: 140 | assetBundleVariant: 141 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/pause.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/pause.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31cc2b8237daf614e85f24fb44d7ac93 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | spriteSheet: 97 | serializedVersion: 2 98 | sprites: [] 99 | outline: [] 100 | physicsShape: [] 101 | bones: [] 102 | spriteID: 103 | internalID: 0 104 | vertices: [] 105 | indices: 106 | edges: [] 107 | weights: [] 108 | secondaryTextures: [] 109 | nameFileIdTable: {} 110 | mipmapLimitGroupName: 111 | pSDRemoveMatte: 0 112 | userData: 113 | assetBundleName: 114 | assetBundleVariant: 115 | -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Editor/Resources/nbc/play/stop.png -------------------------------------------------------------------------------- /Editor/Resources/nbc/play/stop.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d7dad9165e79a84885d65deea68c427 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 13 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | spriteSheet: 97 | serializedVersion: 2 98 | sprites: [] 99 | outline: [] 100 | physicsShape: [] 101 | bones: [] 102 | spriteID: 103 | internalID: 0 104 | vertices: [] 105 | indices: 106 | edges: [] 107 | weights: [] 108 | secondaryTextures: [] 109 | nameFileIdTable: {} 110 | mipmapLimitGroupName: 111 | pSDRemoveMatte: 0 112 | userData: 113 | assetBundleName: 114 | assetBundleVariant: 115 | -------------------------------------------------------------------------------- /Editor/Tools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dabb41feb9004c7fbf9f3d7e8a480513 3 | timeCreated: 1726796310 -------------------------------------------------------------------------------- /Editor/Tools/DrawTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f980afac9e9644d7828b36a7f21bd55b 3 | timeCreated: 1727430504 -------------------------------------------------------------------------------- /Editor/Tools/EditorTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d453b9693b504b378a526c45545e082f 3 | timeCreated: 1726799248 -------------------------------------------------------------------------------- /Editor/Tools/Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e3bef0747dc4bd5a67fd22cb8d212fe 3 | timeCreated: 1726796322 -------------------------------------------------------------------------------- /Editor/Tools/Extensions/DirectableAssetExtensions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public static class DirectableAssetExtensions 6 | { 7 | public static float SnapTime(this IDirector asset, float time) 8 | { 9 | return Mathf.Round(time / Prefs.SnapInterval) * Prefs.SnapInterval; 10 | } 11 | 12 | public static float TimeToPos(this IDirector asset, float time, float width) 13 | { 14 | return (time - asset.ViewTimeMin) / asset.ViewTime * width; 15 | } 16 | 17 | public static float PosToTime(this IDirector asset, float pos, float width) 18 | { 19 | return pos / width * asset.ViewTime + asset.ViewTimeMin; 20 | } 21 | 22 | public static float WidthToTime(this IDirector asset, float pos, float width) 23 | { 24 | return pos / width * asset.ViewTime; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Editor/Tools/Extensions/DirectableAssetExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f14e07d86d9e4228a9b42d4b3e16f65e 3 | timeCreated: 1726925362 -------------------------------------------------------------------------------- /Editor/Tools/Extensions/EditorWindowExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEditor; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public static class EditorWindowExtensions 7 | { 8 | private static Dictionary> _views = 9 | new Dictionary>(); 10 | 11 | private static void AddView(EditorWindow window, ViewBase view) 12 | { 13 | if (!_views.TryGetValue(window, out var list)) 14 | { 15 | list = new List(); 16 | _views[window] = list; 17 | } 18 | 19 | if (!list.Contains(view)) 20 | list.Add(view); 21 | } 22 | 23 | public static T CreateView(this EditorWindow window) where T : ViewBase, new() 24 | { 25 | var cls = new T(); 26 | cls.Init(window); 27 | AddView(window, cls); 28 | return cls; 29 | } 30 | 31 | public static void UpdateViews(this EditorWindow window) 32 | { 33 | if (_views.TryGetValue(window, out var list)) 34 | { 35 | foreach (var view in list) 36 | { 37 | if (!view.Visible) continue; 38 | view.Update(); 39 | } 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Editor/Tools/Extensions/EditorWindowExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54cef818c40c4bad979d5c76bd29af01 3 | timeCreated: 1726796330 -------------------------------------------------------------------------------- /Editor/Tools/Extensions/FieldInfoExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public static class FieldInfoExtensions 6 | { 7 | public static string GetShowName(this FieldInfo field) 8 | { 9 | var name = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(field.Name); 10 | 11 | var menuNameAttribute = field.GetCustomAttribute(); 12 | if (menuNameAttribute != null) 13 | { 14 | return menuNameAttribute.showName; 15 | } 16 | 17 | return name; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Editor/Tools/Extensions/FieldInfoExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d41784df0c94c93b1726c7e86ef12b6 3 | timeCreated: 1730347429 -------------------------------------------------------------------------------- /Editor/Tools/Extensions/RectExtensions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public static class RectExtensions 6 | { 7 | public static float GetY(this Rect rect, float height, float lineHeight = Styles.LineHeight) 8 | { 9 | return rect.y + (lineHeight - height) * 0.5f; 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Editor/Tools/Extensions/RectExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5198ce2f30c49d28840867988d3417d 3 | timeCreated: 1726839939 -------------------------------------------------------------------------------- /Editor/Tools/Extensions/TrackExtends.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace NBC.ActionEditor 8 | { 9 | public static class DirectableExtends 10 | { 11 | private static readonly Dictionary _iconDictionary = new Dictionary(); 12 | private static readonly Dictionary _colorDictionary = new Dictionary(); 13 | private static readonly Dictionary _nameDictionary = new Dictionary(); 14 | 15 | public static Texture2D GetIcon(this IDirectable track) 16 | { 17 | var type = track.GetType(); 18 | if (_iconDictionary.TryGetValue(type, out var icon)) 19 | { 20 | return icon; 21 | } 22 | 23 | var att = track.GetType().RTGetAttribute(true); 24 | 25 | if (att != null) 26 | { 27 | if (att.texture != null) 28 | { 29 | icon = att.texture; 30 | } 31 | else if (!string.IsNullOrEmpty(att.iconPath)) 32 | { 33 | if (att.iconPath.StartsWith("Assets/")) 34 | { 35 | icon = AssetDatabase.LoadAssetAtPath(att.iconPath); 36 | } 37 | else 38 | { 39 | icon = Resources.Load(att.iconPath) as Texture2D; 40 | } 41 | } 42 | 43 | if (icon == null && !string.IsNullOrEmpty(att.iconPath)) 44 | { 45 | icon = EditorGUIUtility.FindTexture(att.iconPath); 46 | } 47 | 48 | if (icon == null && att.fromType != null) 49 | { 50 | icon = AssetPreview.GetMiniTypeThumbnail(att.fromType); 51 | } 52 | } 53 | 54 | if (icon != null) 55 | { 56 | _iconDictionary[type] = icon; 57 | } 58 | 59 | return icon; 60 | } 61 | 62 | public static Color GetColor(this IDirectable track) 63 | { 64 | var type = track.GetType(); 65 | if (_colorDictionary.TryGetValue(type, out var icon)) 66 | { 67 | return icon; 68 | } 69 | 70 | var colorAttribute = track.GetType().GetCustomAttribute(); 71 | if (colorAttribute != null) 72 | { 73 | _colorDictionary[type] = colorAttribute.Color; 74 | } 75 | else 76 | { 77 | _colorDictionary[type] = Color.gray; 78 | } 79 | 80 | return _colorDictionary[type]; 81 | } 82 | 83 | public static string GetName(this IDirectable track) 84 | { 85 | var type = track.GetType(); 86 | if (_nameDictionary.TryGetValue(type, out var name)) 87 | { 88 | return name; 89 | } 90 | 91 | var nameAttribute = track.GetType().GetCustomAttribute(); 92 | if (nameAttribute != null) 93 | { 94 | _nameDictionary[type] = nameAttribute.name; 95 | } 96 | else 97 | { 98 | _nameDictionary[type] = track.GetType().Name; 99 | } 100 | 101 | return _nameDictionary[type]; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /Editor/Tools/Extensions/TrackExtends.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ec48bf41a864cefa3fb754b75a8ed6c 3 | timeCreated: 1727230007 -------------------------------------------------------------------------------- /Editor/Tools/NBLayout.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using UnityEngine; 4 | 5 | namespace NBC.ActionEditor 6 | { 7 | class LayoutHorizontalInfo 8 | { 9 | public Rect NowRect; 10 | public bool Inverse = false; 11 | public float X; 12 | } 13 | 14 | public class NBLayout 15 | { 16 | #region Horizontal 17 | 18 | private static List _horizontalInfos = new List(); 19 | 20 | 21 | public static void BeginHorizontal(Rect rect, params GUILayoutOption[] options) 22 | { 23 | BeginHorizontal(rect, false, options); 24 | } 25 | 26 | public static void BeginHorizontal(Rect rect, bool inverse = false, params GUILayoutOption[] options) 27 | { 28 | if (!inverse) 29 | { 30 | GUILayout.BeginHorizontal(options); 31 | } 32 | 33 | var info = new LayoutHorizontalInfo 34 | { 35 | NowRect = rect, 36 | Inverse = inverse, 37 | X = inverse ? rect.x + rect.width : rect.x 38 | }; 39 | _horizontalInfos.Add(info); 40 | } 41 | 42 | public static Rect GetHRect(float width, float height = 0, bool center = true) 43 | { 44 | if (_horizontalInfos.Count <= 0) return Rect.zero; 45 | var last = _horizontalInfos.Last(); 46 | if (height <= 0) 47 | { 48 | height = last.NowRect.height; 49 | } 50 | 51 | var ret = new Rect(last.Inverse ? last.X - width : last.X, last.NowRect.y, width, height); 52 | if (center) 53 | { 54 | ret.y = last.NowRect.GetY(height); 55 | } 56 | 57 | Space(width); 58 | return ret; 59 | } 60 | 61 | 62 | public static void EndHorizontal() 63 | { 64 | if (_horizontalInfos.Count <= 0) return; 65 | var last = _horizontalInfos.Last(); 66 | if (!last.Inverse) 67 | { 68 | GUILayout.EndHorizontal(); 69 | } 70 | 71 | _horizontalInfos.Remove(last); 72 | } 73 | 74 | public static void Space(float pixels) 75 | { 76 | if (_horizontalInfos.Count > 0) 77 | { 78 | var last = _horizontalInfos.Last(); 79 | last.X += last.Inverse ? pixels * -1 : pixels; 80 | if (!last.Inverse) 81 | { 82 | GUILayout.Space(pixels); 83 | } 84 | } 85 | } 86 | 87 | public static float ExpandWidth() 88 | { 89 | if (_horizontalInfos.Count <= 0) return 0; 90 | var last = _horizontalInfos.Last(); 91 | return last.NowRect.width - last.X; 92 | } 93 | 94 | #endregion 95 | } 96 | } -------------------------------------------------------------------------------- /Editor/Tools/NBLayout.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ba2896878e543a78dacea8c16c523ea 3 | timeCreated: 1726841203 -------------------------------------------------------------------------------- /Editor/Tools/PreviewResizer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83b9fcb9b0d24298867fa65ca872b240 3 | timeCreated: 1726800224 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NBC.ActionEdtior 2 | 行为时间轴编辑器 3 | 4 | 能用于项目技能、Buff、剧情等时间轴表现编辑 5 | 6 | # 提示 7 | 8 | > 由于工作和生活问题,目前已经没有太多精力维护。 9 | > 10 | > 当前2.0版本还有不少UI上bug,但是核心功能基本上完成了!大家有动手能力可以自己修复和扩展,2.0相比1.0上限高很多,代码也更加精简,可读性高很多,功能也多了一些。 11 | > 12 | > 1.0的话相对问题,bug较少,有上线项目的案例。如果您是要用于即将要发布的项目,建议使用1.0。如果时间上不急,那么建议2.0,不过可能需要自己修复一些bug。 13 | 14 | 15 | # 功能特点 16 | - 理论上适用于`所有类型项目`的技能Buff,战斗镜头,场景效果等等 17 | - 完全自定义扩展,项目只提供核心编辑器脚本,无具体业务逻辑,也就是说,拥有无限可能 18 | - 超高的扩展性,编辑器界面提供大量重写接口。很简单即可自行重写界面 19 | - 很简单的脚本既可完成扩展和开发,一两天即可集成进入自己项目实现技能,buff,场景等可视化编辑 20 | - 还有更多细节请看演示视频和演示项目 21 | 22 | 23 | # 安装到Unity 24 | 安装地址:https://github.com/NoBugCn/ActionEditor.git 25 | 26 | 不熟悉从url安装package的请看[install from giturl](https://docs.unity3d.com/Manual/upm-ui-giturl.html) 27 | 28 | # 功能预览视频 29 | 功能预览:https://www.bilibili.com/video/BV1tM4y1q7xg/ 30 | 31 | # 快速上手 32 | Clone源码到项目中或通过package安装编辑器后,即可开始使用。 33 | 点击菜单`NBC/Action Editor/Open Action Editor`打开编辑窗口。 34 | 这时编辑器均为空内容。需要自行编辑填充自己需要内容。操作方法可以查看文档 35 | 36 | ## 【必看】功能示例 37 | https://github.com/NoBugCn/ActionEditorExample 38 | 39 | # 文档 40 | 操作手册文档:[点击查看](https://nobug.cn/book/414447506088261) 41 | 42 | # 交流Q群 43 | 567604178 44 | 45 | # 更新日志 46 | ## 2.0.0 47 | - 新增List和数组支持 48 | - 新增自定义类支持 49 | - 重写新的UI样式 50 | - 支持Asset自定义绑定Header 51 | - 新增自定义Group的支持 52 | - 新增Asset和Group自定义属性支持 -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5eeaa3a75987fc44aad4b54305bd497f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2f03213e79f47cdbb90f1b74a4a941f 3 | timeCreated: 1725873910 -------------------------------------------------------------------------------- /Runtime/Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37df283ebcf24a66909fc1f3d51f25ae 3 | timeCreated: 1727422935 -------------------------------------------------------------------------------- /Runtime/Assets/Asset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3d1500c02fb459d85ab07dbe606726d 3 | timeCreated: 1727422948 -------------------------------------------------------------------------------- /Runtime/Assets/Clip.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8f51f8184a541a0a08fda9e6aa68b9a 3 | timeCreated: 1727423024 -------------------------------------------------------------------------------- /Runtime/Assets/Group.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a2593f3511d46ed951d5afa7c4e8a2f 3 | timeCreated: 1727422982 -------------------------------------------------------------------------------- /Runtime/Assets/InspectorPreviewAsset.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public class InspectorPreviewAsset : ScriptableObject 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Runtime/Assets/InspectorPreviewAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d4bd8fc775b40c5bd36f06d2efd0589 3 | timeCreated: 1730354760 -------------------------------------------------------------------------------- /Runtime/Assets/Track.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70fe174422714ce69a4eda6ae2a2eaeb 3 | timeCreated: 1727423001 -------------------------------------------------------------------------------- /Runtime/Attributes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8e882264e8a4e068df6c8cf6e65c06b 3 | timeCreated: 1682478371 -------------------------------------------------------------------------------- /Runtime/Attributes/Attributes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a69fcb0e2f8340c2b68a60f8d94542c 3 | timeCreated: 1638773860 -------------------------------------------------------------------------------- /Runtime/Attributes/PropertyAttributes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | //属性用于对象或字符串字段,如果未设置,则将其标记为必需(红色) 7 | [AttributeUsage(AttributeTargets.Field)] 8 | public class RequiredAttribute : PropertyAttribute 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /Runtime/Attributes/PropertyAttributes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecb92dd172c724bd0863d38fd053c4c4 3 | timeCreated: 1638949504 -------------------------------------------------------------------------------- /Runtime/Const.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80d855b5df2144d99afc2c53b82b1a6d 3 | timeCreated: 1682478482 -------------------------------------------------------------------------------- /Runtime/Const/Enums.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public enum WrapMode 4 | { 5 | Once, 6 | Loop 7 | } 8 | } -------------------------------------------------------------------------------- /Runtime/Const/Enums.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 899bb36d94eb34d76b0a9059af55efad 3 | timeCreated: 1639368595 -------------------------------------------------------------------------------- /Runtime/Const/Prefs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d45e1464763294b70a06ff81bc069161 3 | timeCreated: 1638764692 -------------------------------------------------------------------------------- /Runtime/Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c58f21d748c341b4b553d23b8cf13f3 3 | timeCreated: 1639721819 -------------------------------------------------------------------------------- /Runtime/Extensions/IDirectableExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d090c4f69199c4ea3b847d3f5d6f5bcd 3 | timeCreated: 1638951418 -------------------------------------------------------------------------------- /Runtime/Extensions/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public static class StringExtensions 4 | { 5 | /// 6 | /// 首字母大写 7 | /// 8 | /// 9 | /// 10 | public static string SplitCamelCase(this string s) { 11 | if ( string.IsNullOrEmpty(s) ) return s; 12 | s = char.ToUpper(s[0]) + s.Substring(1); 13 | return System.Text.RegularExpressions.Regex.Replace(s, "(?<=[a-z])([A-Z])", " $1").Trim(); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Runtime/Extensions/StringExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 806990bed4cd493abf69f670c98b7a89 3 | timeCreated: 1683596834 -------------------------------------------------------------------------------- /Runtime/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f155ce7654ab4006979ea5c4d487aad 3 | timeCreated: 1639721752 -------------------------------------------------------------------------------- /Runtime/Interfaces/IData.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public interface IData 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Runtime/Interfaces/IData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f5edb0130f94f7ca215fd2f4ac63ab2 3 | timeCreated: 1678332862 -------------------------------------------------------------------------------- /Runtime/Interfaces/IDirectable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public interface IDirectable : IData 7 | { 8 | IDirector Root { get; } 9 | IDirectable Parent { get; } 10 | IEnumerable Children { get; } 11 | 12 | GameObject Actor { get; } 13 | string Name { get; } 14 | 15 | bool IsActive { get; set; } 16 | bool IsCollapsed { get; set; } 17 | bool IsLocked { get; set; } 18 | 19 | float StartTime { get; } 20 | float EndTime { get; } 21 | 22 | float BlendIn { get; set; } 23 | float BlendOut { get; set; } 24 | bool CanCrossBlend { get; } 25 | 26 | void Validate(IDirector root, IDirectable parent); 27 | bool Initialize(); 28 | void OnBeforeSerialize(); 29 | void OnAfterDeserialize(); 30 | } 31 | 32 | 33 | public interface IClip : IDirectable 34 | { 35 | object AnimatedParametersTarget { get; } 36 | } 37 | } -------------------------------------------------------------------------------- /Runtime/Interfaces/IDirectable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52142dfa5f334d399b2eb4225b710e94 3 | timeCreated: 1727422765 -------------------------------------------------------------------------------- /Runtime/Interfaces/IDirector.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | public interface IDirector : IData 7 | { 8 | float Length { get; } 9 | 10 | public float ViewTimeMin { get; set; } 11 | public float ViewTimeMax { get; set; } 12 | 13 | public float ViewTime { get; } 14 | 15 | public float RangeMin { get; set; } 16 | public float RangeMax { get; set; } 17 | 18 | void DeleteGroup(Group group); 19 | 20 | void UpdateMaxTime(); 21 | void Validate(); 22 | } 23 | } -------------------------------------------------------------------------------- /Runtime/Interfaces/IDirector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61b86d8d3ba6b4ef7b13a4c40214cb55 3 | timeCreated: 1638340714 -------------------------------------------------------------------------------- /Runtime/Interfaces/ISubClipContainable.cs: -------------------------------------------------------------------------------- 1 | namespace NBC.ActionEditor 2 | { 3 | public interface ISubClipContainable : IDirectable 4 | { 5 | float SubClipOffset { get; set; } 6 | 7 | float SubClipSpeed { get; } 8 | 9 | float SubClipLength { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /Runtime/Interfaces/ISubClipContainable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e42df59013994ed1a7fb3a76e7859b65 3 | timeCreated: 1683253389 -------------------------------------------------------------------------------- /Runtime/NBC.ActionEditor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NBC.ActionEditor" 3 | } 4 | -------------------------------------------------------------------------------- /Runtime/NBC.ActionEditor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d31d11ba62f20b4d89380d87c02f0e4 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/ThirdParty.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a59be18b1810445ab79ea11f3e69ffff 3 | timeCreated: 1727402026 -------------------------------------------------------------------------------- /Runtime/ThirdParty/FullSerializer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NoBugCn/ActionEditor/ae5eb7b5b0e9e668b890b507fda1a550736fe4ed/Runtime/ThirdParty/FullSerializer.dll -------------------------------------------------------------------------------- /Runtime/ThirdParty/FullSerializer.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9dc8c82304565a640ac31a6947ed0d6e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Runtime/Utility.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83afa308507624ade8234fda55c31417 3 | timeCreated: 1638765311 -------------------------------------------------------------------------------- /Runtime/Utility/AttributesUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | 5 | namespace NBC.ActionEditor 6 | { 7 | public static class AttributesUtility 8 | { 9 | private static readonly Dictionary> CacheMenuName = 10 | new Dictionary>(); 11 | 12 | public static string GetMenuName(int index, Type type) 13 | { 14 | // type.GetCustomAttributes(); 15 | if (type != null) 16 | { 17 | if (CacheMenuName.TryGetValue(type, out var dictionary)) 18 | { 19 | if (dictionary.TryGetValue(index, out string name)) 20 | { 21 | return name; 22 | } 23 | } 24 | else 25 | { 26 | CacheMenuName[type] = new Dictionary(); 27 | } 28 | 29 | FieldInfo[] fieldInfos = type.GetFields(); 30 | foreach (var field in fieldInfos) 31 | { 32 | var fieldType = field.FieldType; 33 | var value = field.GetValue(type); 34 | if (value is int i && i == index) 35 | { 36 | var attributes = field.GetCustomAttributes(); 37 | foreach (var attribute in attributes) 38 | { 39 | var t = attribute.GetType(); 40 | if (attribute is MenuNameAttribute menuNameAttribute) 41 | { 42 | CacheMenuName[type][index] = menuNameAttribute.showName; 43 | return menuNameAttribute.showName; 44 | } 45 | } 46 | } 47 | } 48 | } 49 | 50 | return index.ToString(); 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Runtime/Utility/AttributesUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a11fbb90943e4336b8d2cc88b556b71b 3 | timeCreated: 1683874414 -------------------------------------------------------------------------------- /Runtime/Utility/ColorUtility.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace NBC.ActionEditor 4 | { 5 | public static class ColorUtility 6 | { 7 | public static Color Grey(float value) { 8 | return new Color(value, value, value); 9 | } 10 | 11 | public static Color WithAlpha(this Color color, float alpha) { 12 | color.a = alpha; 13 | return color; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Runtime/Utility/ColorUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89d80dc0ab2fa4beea9552404242a4b1 3 | timeCreated: 1638765311 -------------------------------------------------------------------------------- /Runtime/Utility/CreateUtilities.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace NBC.ActionEditor 5 | { 6 | internal static class CreateUtilities 7 | { 8 | 9 | public static void SaveAssetIntoObject(Object childAsset, Object masterAsset) 10 | { 11 | if (childAsset == null || masterAsset == null) 12 | return; 13 | 14 | if ((masterAsset.hideFlags & HideFlags.DontSave) != 0) 15 | { 16 | childAsset.hideFlags |= HideFlags.DontSave; 17 | } 18 | else 19 | { 20 | childAsset.hideFlags |= HideFlags.HideInHierarchy; 21 | #if UNITY_EDITOR 22 | if (!AssetDatabase.Contains(childAsset) && AssetDatabase.Contains(masterAsset)) 23 | AssetDatabase.AddObjectToAsset(childAsset, masterAsset); 24 | #endif 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Runtime/Utility/CreateUtilities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 377575421f4b40f9a816d0a84cf22a36 3 | timeCreated: 1682342432 -------------------------------------------------------------------------------- /Runtime/Utility/Easing.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 923de139f844841998fb8d7aab1df657 3 | timeCreated: 1639623816 -------------------------------------------------------------------------------- /Runtime/Utility/FullSerializerExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using FullSerializer; 4 | using UnityEngine; 5 | 6 | namespace NBC.ActionEditor 7 | { 8 | public class Json 9 | { 10 | public static string Serialize(object value, bool isCompressed = false) 11 | { 12 | try 13 | { 14 | new fsSerializer().TrySerialize(value, out var data).AssertSuccessWithoutWarnings(); 15 | if (isCompressed) 16 | { 17 | return fsJsonPrinter.CompressedJson(data); 18 | } 19 | 20 | return fsJsonPrinter.PrettyJson(data); 21 | } 22 | catch (Exception e) 23 | { 24 | return string.Empty; 25 | } 26 | } 27 | 28 | public static object Deserialize(Type type, string serializedState) 29 | { 30 | try 31 | { 32 | fsData data = fsJsonParser.Parse(serializedState); 33 | object deserialized = null; 34 | var ser = new fsSerializer(); 35 | ser.TryDeserialize(data, type, ref deserialized).AssertSuccessWithoutWarnings(); 36 | 37 | return deserialized; 38 | } 39 | catch (Exception e) 40 | { 41 | #if UNITY_EDITOR 42 | File.WriteAllText($"{Application.dataPath}/../error_json.json", serializedState); 43 | #endif 44 | Debug.LogError(e); 45 | return null; 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Runtime/Utility/FullSerializerExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 107863859ba94b9580581de9746adeef 3 | timeCreated: 1727425209 -------------------------------------------------------------------------------- /Runtime/Utility/RectUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c349bd897ea1d4db68f4c2d072136932 3 | timeCreated: 1638863946 -------------------------------------------------------------------------------- /Runtime/Utility/ReflectionTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 953611571e8ab4918a778eceba60e137 3 | timeCreated: 1638774082 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.nobug.nbc.action_editor", 3 | "version": "2.0.0", 4 | "displayName": "NBC.ActionEditor", 5 | "description": "NBC Action Timeline Editor.", 6 | "keywords": [ 7 | "NBC", 8 | "Nobug Client Framework", 9 | "Skill Editor", 10 | "Action Editor" 11 | ], 12 | "documentationUrl": "https://nobug.cn/book/414447506088261", 13 | "changelogUrl": "https://nobug.cn/book/414447506088261", 14 | "author": { 15 | "name": "NoBug", 16 | "url": "https://nobug.cn/" 17 | }, 18 | "type": "library", 19 | "dependencies": { 20 | } 21 | } -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca683d54534b9604b954c3753e1eb72c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------