├── .gitignore
├── .vsconfig
├── Assets
├── .action.json
├── ActionEditor.meta
├── ActionEditor
│ ├── Editor.meta
│ ├── Editor
│ │ ├── ActionEditor.Editor.asmdef
│ │ ├── ActionEditor.Editor.asmdef.meta
│ │ ├── App.cs
│ │ ├── App.cs.meta
│ │ ├── Attributes.cs
│ │ ├── Attributes.cs.meta
│ │ ├── EditorEX.cs
│ │ ├── EditorEX.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
│ │ │ ├── EditorCustomFactory.cs
│ │ │ ├── EditorCustomFactory.cs.meta
│ │ │ ├── InspectorPreviewAsset.cs
│ │ │ ├── InspectorPreviewAsset.cs.meta
│ │ │ ├── InspectorPreviewAssetInspector.cs
│ │ │ ├── InspectorPreviewAssetInspector.cs.meta
│ │ │ ├── InspectorsBase.cs
│ │ │ └── InspectorsBase.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
│ │ ├── Prefs.cs
│ │ ├── Prefs.cs.meta
│ │ ├── Preview.meta
│ │ ├── Preview
│ │ │ ├── AssetPlayer.cs
│ │ │ ├── AssetPlayer.cs.meta
│ │ │ ├── PreviewBase.cs
│ │ │ ├── PreviewBase.cs.meta
│ │ │ ├── TimePointers.cs
│ │ │ └── TimePointers.cs.meta
│ │ ├── Resources.meta
│ │ ├── Resources
│ │ │ ├── Stripes.png
│ │ │ └── Stripes.png.meta
│ │ ├── Styles.cs
│ │ ├── Styles.cs.meta
│ │ ├── Window.meta
│ │ └── Window
│ │ │ ├── ActionEditorWindow.cs
│ │ │ ├── ActionEditorWindow.cs.meta
│ │ │ ├── AssetPick.cs
│ │ │ ├── AssetPick.cs.meta
│ │ │ ├── Clip.meta
│ │ │ ├── Clip
│ │ │ ├── BasicClipDraw.cs
│ │ │ ├── BasicClipDraw.cs.meta
│ │ │ ├── ClipDragger.cs
│ │ │ ├── ClipDragger.cs.meta
│ │ │ ├── ClipDrawer.cs
│ │ │ ├── ClipDrawer.cs.meta
│ │ │ ├── SignalClipDraw.cs
│ │ │ └── SignalClipDraw.cs.meta
│ │ │ ├── CreateAssetWindow.cs
│ │ │ ├── CreateAssetWindow.cs.meta
│ │ │ ├── PreferencesWindow.cs
│ │ │ ├── PreferencesWindow.cs.meta
│ │ │ ├── Timeline.meta
│ │ │ └── Timeline
│ │ │ ├── SplitterView.cs
│ │ │ ├── SplitterView.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
│ │ │ ├── ViewBase.cs
│ │ │ └── ViewBase.cs.meta
│ ├── Runtime.meta
│ ├── Runtime
│ │ ├── ActionEditor.asmdef
│ │ ├── ActionEditor.asmdef.meta
│ │ ├── Assets.meta
│ │ ├── Assets
│ │ │ ├── Asset.cs
│ │ │ ├── Asset.cs.meta
│ │ │ ├── Clip.cs
│ │ │ ├── Clip.cs.meta
│ │ │ ├── DirectableBase.cs
│ │ │ ├── DirectableBase.cs.meta
│ │ │ ├── Group.cs
│ │ │ ├── Group.cs.meta
│ │ │ ├── Track.cs
│ │ │ └── Track.cs.meta
│ │ ├── Attributes.cs
│ │ ├── Attributes.cs.meta
│ │ ├── IAction.cs
│ │ ├── IAction.cs.meta
│ │ ├── IDirectableExtensions.cs
│ │ └── IDirectableExtensions.cs.meta
│ ├── package.json
│ └── package.json.meta
├── Editor.meta
├── Editor
│ ├── ActionEditor.txt
│ └── ActionEditor.txt.meta
├── ResRaw.meta
├── ResRaw
│ ├── Effects.meta
│ ├── Effects
│ │ ├── Animations.meta
│ │ ├── Animations
│ │ │ ├── 301.anim
│ │ │ ├── 301.anim.meta
│ │ │ ├── VFX_Anim02.anim
│ │ │ ├── VFX_Anim02.anim.meta
│ │ │ ├── VFX_Anim33203.anim
│ │ │ ├── VFX_Anim33203.anim.meta
│ │ │ ├── VFX_Animn04.anim
│ │ │ ├── VFX_Animn04.anim.meta
│ │ │ ├── pPlane2.controller
│ │ │ ├── pPlane2.controller.meta
│ │ │ ├── pPlane4.controller
│ │ │ ├── pPlane4.controller.meta
│ │ │ ├── polySurface5.controller
│ │ │ ├── polySurface5.controller.meta
│ │ │ ├── polySurface6.controller
│ │ │ └── polySurface6.controller.meta
│ │ ├── Materials.meta
│ │ ├── Materials
│ │ │ ├── VFX_0201.mat
│ │ │ ├── VFX_0201.mat.meta
│ │ │ ├── VFX_02118.mat
│ │ │ ├── VFX_02118.mat.meta
│ │ │ ├── VFX_02131.mat
│ │ │ ├── VFX_02131.mat.meta
│ │ │ ├── VFX_02742.mat
│ │ │ ├── VFX_02742.mat.meta
│ │ │ ├── vfx3244.mat
│ │ │ └── vfx3244.mat.meta
│ │ ├── Models.meta
│ │ ├── Models
│ │ │ ├── VFX_Model7.fbx
│ │ │ └── VFX_Model7.fbx.meta
│ │ ├── Prefabs.meta
│ │ ├── Prefabs
│ │ │ ├── VFX_Fire Magic Array 004.prefab
│ │ │ └── VFX_Fire Magic Array 004.prefab.meta
│ │ ├── Textures.meta
│ │ └── Textures
│ │ │ ├── 102.tga
│ │ │ ├── 102.tga.meta
│ │ │ ├── 66089.tga
│ │ │ ├── 66089.tga.meta
│ │ │ ├── 82.tga
│ │ │ ├── 82.tga.meta
│ │ │ ├── VFX_LS004.tga
│ │ │ ├── VFX_LS004.tga.meta
│ │ │ ├── VFX_LS018.tga
│ │ │ └── VFX_LS018.tga.meta
│ ├── Model.meta
│ ├── Model
│ │ ├── Skeleton.meta
│ │ └── Skeleton
│ │ │ ├── Ani.meta
│ │ │ ├── Ani
│ │ │ ├── Materials.meta
│ │ │ ├── Materials
│ │ │ │ ├── skeleton_D.mat
│ │ │ │ └── skeleton_D.mat.meta
│ │ │ ├── Skeleton@Attack.FBX
│ │ │ ├── Skeleton@Attack.FBX.meta
│ │ │ ├── Skeleton@Damage.FBX
│ │ │ ├── Skeleton@Damage.FBX.meta
│ │ │ ├── Skeleton@Death.FBX
│ │ │ ├── Skeleton@Death.FBX.meta
│ │ │ ├── Skeleton@Idle.FBX
│ │ │ ├── Skeleton@Idle.FBX.meta
│ │ │ ├── Skeleton@Knockback.FBX
│ │ │ ├── Skeleton@Knockback.FBX.meta
│ │ │ ├── Skeleton@Run.FBX
│ │ │ ├── Skeleton@Run.FBX.meta
│ │ │ ├── Skeleton@Skill.FBX
│ │ │ ├── Skeleton@Skill.FBX.meta
│ │ │ ├── Skeleton@Stand.FBX
│ │ │ ├── Skeleton@Stand.FBX.meta
│ │ │ ├── Skeleton@Walk.FBX
│ │ │ └── Skeleton@Walk.FBX.meta
│ │ │ ├── Character.meta
│ │ │ ├── Character
│ │ │ ├── Materials.meta
│ │ │ ├── Materials
│ │ │ │ ├── skeleton_D.mat
│ │ │ │ └── skeleton_D.mat.meta
│ │ │ ├── Skeleton@Skin.FBX
│ │ │ └── Skeleton@Skin.FBX.meta
│ │ │ ├── Skeleton.prefab
│ │ │ ├── Skeleton.prefab.meta
│ │ │ ├── SkeletonController.controller
│ │ │ ├── SkeletonController.controller.meta
│ │ │ ├── Texture.meta
│ │ │ └── Texture
│ │ │ ├── Skeleton_D.tif
│ │ │ └── Skeleton_D.tif.meta
│ ├── Skill.meta
│ ├── Sound.meta
│ └── Sound
│ │ ├── open_door.wav
│ │ └── open_door.wav.meta
├── RuntimeExample.meta
├── RuntimeExample
│ ├── Easing.cs
│ ├── Easing.cs.meta
│ ├── NBC.meta
│ ├── NBC
│ │ ├── Core.meta
│ │ ├── Core
│ │ │ ├── Runtime.meta
│ │ │ └── Runtime
│ │ │ │ ├── Log.meta
│ │ │ │ ├── Log
│ │ │ │ ├── Log.cs
│ │ │ │ └── Log.cs.meta
│ │ │ │ ├── Services.meta
│ │ │ │ ├── Services
│ │ │ │ ├── MonoManager.cs
│ │ │ │ ├── MonoManager.cs.meta
│ │ │ │ ├── Timer.cs
│ │ │ │ └── Timer.cs.meta
│ │ │ │ ├── Task.meta
│ │ │ │ └── Task
│ │ │ │ ├── Collection.meta
│ │ │ │ ├── Collection
│ │ │ │ ├── ParallelTaskCollection.cs
│ │ │ │ ├── ParallelTaskCollection.cs.meta
│ │ │ │ ├── SequenceTaskCollection.cs
│ │ │ │ ├── SequenceTaskCollection.cs.meta
│ │ │ │ ├── TaskCollection.cs
│ │ │ │ ├── TaskCollection.cs.meta
│ │ │ │ ├── TimelineTaskCollection.cs
│ │ │ │ └── TimelineTaskCollection.cs.meta
│ │ │ │ ├── Extensions.meta
│ │ │ │ ├── Extensions
│ │ │ │ ├── TaskChainExtension.cs
│ │ │ │ └── TaskChainExtension.cs.meta
│ │ │ │ ├── Interface.meta
│ │ │ │ ├── Interface
│ │ │ │ ├── IProcess.cs
│ │ │ │ ├── IProcess.cs.meta
│ │ │ │ ├── IRunner.cs
│ │ │ │ ├── IRunner.cs.meta
│ │ │ │ ├── ITask.cs
│ │ │ │ ├── ITask.cs.meta
│ │ │ │ ├── ITaskCollection.cs
│ │ │ │ ├── ITaskCollection.cs.meta
│ │ │ │ ├── ITaskRun.cs
│ │ │ │ └── ITaskRun.cs.meta
│ │ │ │ ├── NTask.cs
│ │ │ │ ├── NTask.cs.meta
│ │ │ │ ├── Runner.meta
│ │ │ │ ├── Runner
│ │ │ │ ├── FlushingOperation.cs
│ │ │ │ ├── FlushingOperation.cs.meta
│ │ │ │ ├── Runner.cs
│ │ │ │ ├── Runner.cs.meta
│ │ │ │ ├── RunnerProcess.cs
│ │ │ │ └── RunnerProcess.cs.meta
│ │ │ │ ├── TaskStatus.cs
│ │ │ │ └── TaskStatus.cs.meta
│ │ ├── README.md
│ │ └── README.md.meta
│ ├── README.md
│ ├── README.md.meta
│ ├── Scene.meta
│ ├── Scene
│ │ ├── Example.unity
│ │ └── Example.unity.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── BattleRunner.cs
│ │ ├── BattleRunner.cs.meta
│ │ ├── Config.meta
│ │ ├── Config
│ │ ├── SkillConfig.cs
│ │ └── SkillConfig.cs.meta
│ │ ├── Init.cs
│ │ ├── Init.cs.meta
│ │ ├── Plyaer.meta
│ │ ├── Plyaer
│ │ ├── HeroPlayer.cs
│ │ ├── HeroPlayer.cs.meta
│ │ ├── MonsterPlayer.cs
│ │ ├── MonsterPlayer.cs.meta
│ │ ├── RoleBase.cs
│ │ └── RoleBase.cs.meta
│ │ ├── Skill.meta
│ │ ├── Skill
│ │ ├── Director.meta
│ │ ├── Director
│ │ │ ├── AV.meta
│ │ │ ├── AV
│ │ │ │ ├── PlayAnimationClipTask.cs
│ │ │ │ ├── PlayAnimationClipTask.cs.meta
│ │ │ │ ├── PlayAudioClipTask.cs
│ │ │ │ └── PlayAudioClipTask.cs.meta
│ │ │ ├── Events.meta
│ │ │ ├── Events
│ │ │ │ ├── TriggerEventClipTask.cs
│ │ │ │ ├── TriggerEventClipTask.cs.meta
│ │ │ │ ├── TriggerLogClipTask.cs
│ │ │ │ ├── TriggerLogClipTask.cs.meta
│ │ │ │ ├── TriggerShakeClipTask.cs
│ │ │ │ └── TriggerShakeClipTask.cs.meta
│ │ │ ├── Particles.meta
│ │ │ ├── Particles
│ │ │ │ ├── PlayParticleClipTask.cs
│ │ │ │ └── PlayParticleClipTask.cs.meta
│ │ │ ├── SkillClipBase.cs
│ │ │ ├── SkillClipBase.cs.meta
│ │ │ ├── SkillDirector.cs
│ │ │ ├── SkillDirector.cs.meta
│ │ │ ├── Transforms.meta
│ │ │ └── Transforms
│ │ │ │ ├── MoveByClipTask.cs
│ │ │ │ ├── MoveByClipTask.cs.meta
│ │ │ │ ├── MoveToClipTask.cs
│ │ │ │ ├── MoveToClipTask.cs.meta
│ │ │ │ ├── RotateToClipTask.cs
│ │ │ │ ├── RotateToClipTask.cs.meta
│ │ │ │ ├── ScaleToClipTask.cs
│ │ │ │ ├── ScaleToClipTask.cs.meta
│ │ │ │ ├── VisibleToClipTask.cs
│ │ │ │ └── VisibleToClipTask.cs.meta
│ │ ├── ISkillPlay.cs
│ │ ├── ISkillPlay.cs.meta
│ │ ├── SkillPlayAttack.cs
│ │ └── SkillPlayAttack.cs.meta
│ │ ├── Tasks.meta
│ │ └── Tasks
│ │ ├── LogTask.cs
│ │ ├── LogTask.cs.meta
│ │ ├── RunFunTask.cs
│ │ ├── RunFunTask.cs.meta
│ │ ├── TimeStopTask.cs
│ │ └── TimeStopTask.cs.meta
├── Scenes.meta
├── Scenes
│ ├── SampleScene.unity
│ ├── SampleScene.unity.meta
│ ├── VFX_LS018 1.tga
│ ├── VFX_LS018 1.tga.meta
│ ├── test.unity
│ └── test.unity.meta
├── Scripts.meta
├── Scripts
│ ├── ActionEditorExample.meta
│ └── ActionEditorExample
│ │ ├── Editor.meta
│ │ ├── Editor
│ │ ├── Preview.meta
│ │ └── Preview
│ │ │ ├── Clips.meta
│ │ │ ├── Clips
│ │ │ ├── MoveByPreview.cs
│ │ │ ├── MoveByPreview.cs.meta
│ │ │ ├── MoveToPreview.cs
│ │ │ ├── MoveToPreview.cs.meta
│ │ │ ├── PlayAnimationPreview.cs
│ │ │ ├── PlayAnimationPreview.cs.meta
│ │ │ ├── PlayAudioPreview.cs
│ │ │ ├── PlayAudioPreview.cs.meta
│ │ │ ├── PlayParticlePreview.cs
│ │ │ ├── PlayParticlePreview.cs.meta
│ │ │ ├── RotateToPreview.cs
│ │ │ ├── RotateToPreview.cs.meta
│ │ │ ├── VisibleToPreview.cs
│ │ │ └── VisibleToPreview.cs.meta
│ │ │ ├── Sampler.meta
│ │ │ └── Sampler
│ │ │ ├── AnimationSampler.cs
│ │ │ ├── AnimationSampler.cs.meta
│ │ │ ├── AudioSampler.cs
│ │ │ ├── AudioSampler.cs.meta
│ │ │ ├── ModelSampler.cs
│ │ │ ├── ModelSampler.cs.meta
│ │ │ ├── ParticleSampler.cs
│ │ │ ├── ParticleSampler.cs.meta
│ │ │ ├── SpineSampler.cs
│ │ │ └── SpineSampler.cs.meta
│ │ ├── Runtime.meta
│ │ └── Runtime
│ │ ├── BuffAsset.cs
│ │ ├── BuffAsset.cs.meta
│ │ ├── Directables.meta
│ │ ├── Directables
│ │ ├── Clips.meta
│ │ ├── Clips
│ │ │ ├── Animation.meta
│ │ │ ├── Animation
│ │ │ │ ├── PlayAnimation.cs
│ │ │ │ └── PlayAnimation.cs.meta
│ │ │ ├── Audio.meta
│ │ │ ├── Audio
│ │ │ │ ├── PlayAudio.cs
│ │ │ │ └── PlayAudio.cs.meta
│ │ │ ├── Effect.meta
│ │ │ ├── Effect
│ │ │ │ ├── PlayParticle.cs
│ │ │ │ └── PlayParticle.cs.meta
│ │ │ ├── Event.meta
│ │ │ ├── Event
│ │ │ │ ├── TriggerEvent.cs
│ │ │ │ ├── TriggerEvent.cs.meta
│ │ │ │ ├── TriggerLog.cs
│ │ │ │ ├── TriggerLog.cs.meta
│ │ │ │ ├── TriggerShake.cs
│ │ │ │ └── TriggerShake.cs.meta
│ │ │ ├── GameObject.meta
│ │ │ ├── GameObject
│ │ │ │ ├── VisibleTo.cs
│ │ │ │ └── VisibleTo.cs.meta
│ │ │ ├── Transform.meta
│ │ │ └── Transform
│ │ │ │ ├── MoveBy.cs
│ │ │ │ ├── MoveBy.cs.meta
│ │ │ │ ├── MoveTo.cs
│ │ │ │ ├── MoveTo.cs.meta
│ │ │ │ ├── RotateTo.cs
│ │ │ │ ├── RotateTo.cs.meta
│ │ │ │ ├── ScaleTo.cs
│ │ │ │ └── ScaleTo.cs.meta
│ │ ├── OptionParams.cs
│ │ ├── OptionParams.cs.meta
│ │ ├── Tracks.meta
│ │ └── Tracks
│ │ │ ├── ActionTrack.cs
│ │ │ ├── ActionTrack.cs.meta
│ │ │ ├── AnimationTrack.cs
│ │ │ ├── AnimationTrack.cs.meta
│ │ │ ├── AudioTrack.cs
│ │ │ ├── AudioTrack.cs.meta
│ │ │ ├── EffectTrack.cs
│ │ │ ├── EffectTrack.cs.meta
│ │ │ ├── SignalTrack.cs
│ │ │ └── SignalTrack.cs.meta
│ │ ├── SkillAsset.cs
│ │ └── SkillAsset.cs.meta
├── das.action.bytes
├── das.action.bytes.meta
├── dsad.action.bytes
├── dsad.action.bytes.meta
├── opk.action.bytes
└── opk.action.bytes.meta
├── LICENSE
├── Packages
├── manifest.json
└── packages-lock.json
├── ProjectSettings
├── AudioManager.asset
├── AutoStreamingSettings.asset
├── BurstAotSettings_StandaloneWindows.json
├── ClusterInputManager.asset
├── CommonBurstAotSettings.json
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── PackageManagerSettings.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── SceneTemplateSettings.json
├── ShaderGraphSettings.asset
├── TagManager.asset
├── TimeManager.asset
├── URPProjectSettings.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
├── VersionControlSettings.asset
├── WhootActionSequencer.txt
├── XRSettings.asset
└── boot.config
├── README.md
└── upm.bat
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Uu]ser[Ss]ettings/
12 |
13 | # MemoryCaptures can get excessive in size.
14 | # They also could contain extremely sensitive data
15 | /[Mm]emoryCaptures/
16 |
17 | # Recordings can get excessive in size
18 | /[Rr]ecordings/
19 |
20 | # Uncomment this line if you wish to ignore the asset store tools plugin
21 | # /[Aa]ssets/AssetStoreTools*
22 |
23 | # Autogenerated Jetbrains Rider plugin
24 | /[Aa]ssets/Plugins/Editor/JetBrains*
25 |
26 | # Visual Studio cache directory
27 | .vs/
28 |
29 | # Gradle cache directory
30 | .gradle/
31 |
32 | # Autogenerated VS/MD/Consulo solution and project files
33 | ExportedObj/
34 | .consulo/
35 | *.csproj
36 | *.unityproj
37 | *.sln
38 | *.suo
39 | *.tmp
40 | *.user
41 | *.userprefs
42 | *.pidb
43 | *.booproj
44 | *.svd
45 | *.pdb
46 | *.mdb
47 | *.opendb
48 | *.VC.db
49 |
50 | # Unity3D generated meta files
51 | *.pidb.meta
52 | *.pdb.meta
53 | *.mdb.meta
54 |
55 | # Unity3D generated file on crash reports
56 | sysinfo.txt
57 |
58 | # Builds
59 | *.apk
60 | *.aab
61 | *.unitypackage
62 | *.app
63 |
64 | # Crashlytics generated file
65 | crashlytics-build.properties
66 |
67 | # Packed Addressables
68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
69 |
70 | # Temporary auto-generated Android Assets
71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta
72 | /[Aa]ssets/[Ss]treamingAssets/aa/*
73 |
--------------------------------------------------------------------------------
/.vsconfig:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "components": [
4 | "Microsoft.VisualStudio.Workload.ManagedGame"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/Assets/.action.json:
--------------------------------------------------------------------------------
1 | ActionEditor.BuffAsset
2 | {
3 | "groups": [
4 | {
5 | "rid": 1000
6 | }
7 | ],
8 | "length": 0.10000000149011612,
9 | "viewTimeMin": 0.0,
10 | "viewTimeMax": 5.0,
11 | "rangeMin": 0.0,
12 | "rangeMax": 5.0,
13 | "references": {
14 | "version": 2,
15 | "RefIds": [
16 | {
17 | "rid": 1000,
18 | "type": {
19 | "class": "Group",
20 | "ns": "ActionEditor",
21 | "asm": "ActionEditor"
22 | },
23 | "data": {
24 | "name": "New Group",
25 | "tracks": [],
26 | "isCollapsed": false,
27 | "active": true,
28 | "isLocked": false
29 | }
30 | }
31 | ]
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c7f6b6c7068a334f85c05a216592706
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e0b01c062464e54ab6baadb6574b637
3 | timeCreated: 1725873917
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/ActionEditor.Editor.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ActionEditor.Editor",
3 | "rootNamespace": "",
4 | "references": [
5 | "GUID:2f5d7ff7639293b4bbbea67c608851e6"
6 | ],
7 | "includePlatforms": [
8 | "Editor"
9 | ],
10 | "excludePlatforms": [],
11 | "allowUnsafeCode": false,
12 | "overrideReferences": false,
13 | "precompiledReferences": [],
14 | "autoReferenced": true,
15 | "defineConstraints": [],
16 | "versionDefines": [],
17 | "noEngineReferences": false
18 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/ActionEditor.Editor.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01cbad5e2c6f25a4f9eab807601ea5f5
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/App.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c23212e6c7c40b46b38a0187a29ff1a
3 | timeCreated: 1675238206
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Attributes.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace ActionEditor
4 | {
5 | ///
6 | /// 自定义检视面板
7 | ///
8 | [AttributeUsage(AttributeTargets.Class)]
9 | public class CustomInspectors : Attribute
10 | {
11 | public Type InspectedType;
12 | public bool _editorForChildClasses;
13 |
14 | public CustomInspectors(Type inspectedType)
15 | {
16 | InspectedType = inspectedType;
17 | }
18 |
19 | public CustomInspectors(Type inspectedType, bool editorForChildClasses)
20 | {
21 | InspectedType = inspectedType;
22 | _editorForChildClasses = editorForChildClasses;
23 | }
24 | }
25 |
26 |
27 | ///
28 | /// 自定义片段预览
29 | ///
30 | [AttributeUsage(AttributeTargets.Class)]
31 | public class CustomPreviewAttribute : Attribute
32 | {
33 | public Type PreviewType;
34 |
35 | public CustomPreviewAttribute(Type type)
36 | {
37 | PreviewType = type;
38 | }
39 | }
40 |
41 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Attributes.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 006f96bc4c3d8364ba63326de43defd4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/EditorEX.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac95ce72ff4f78c4c9956e65f7419f4a
3 | timeCreated: 1727230007
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c521327ea7039454182ba036d34ada97
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eda17153a6146184f81e3b14e11012f4
3 | timeCreated: 1683598121
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/ActionClipInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dcb3b808615c29747b27138509c457e8
3 | timeCreated: 1639381603
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/AssetInspector.cs:
--------------------------------------------------------------------------------
1 | using UnityEditor;
2 |
3 | namespace 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 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/AssetInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 839f55a7f883bf141ad97f02cc1a897b
3 | timeCreated: 1678332575
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/GroupInspector.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace 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 | GUI.enabled = !action.IsLocked;
20 |
21 | ShowCommonInspector();
22 | }
23 |
24 | protected void ShowCommonInspector(bool showBaseInspector = true)
25 | {
26 | action.Name = EditorGUILayout.TextField("Name", action.Name);
27 | if (showBaseInspector)
28 | {
29 | base.OnInspectorGUI();
30 | }
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/GroupInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f1795d6013d412741a4fb6614d8c486a
3 | timeCreated: 1639446374
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/TrackInspector.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace 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 | GUI.enabled = !action.IsLocked;
20 | ShowCommonInspector();
21 | }
22 |
23 |
24 | protected void ShowCommonInspector(bool showBaseInspector = true)
25 | {
26 | action.Name = EditorGUILayout.TextField("Name", action.Name);
27 | if (showBaseInspector)
28 | {
29 | base.OnInspectorGUI();
30 | }
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/Com/TrackInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a152e60ee1bcc14998bed5ba95fde7b
3 | timeCreated: 1639446317
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/EditorCustomFactory.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 41355f62d39c9784da7ce5046b5c7ae9
3 | timeCreated: 1730344771
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/InspectorPreviewAsset.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | class InspectorPreviewAsset : ScriptableObject
6 | {
7 |
8 | }
9 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/InspectorPreviewAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a4176489d2208f449d66b88e5ebba08
3 | timeCreated: 1730354760
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/InspectorPreviewAssetInspector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5441474baee17164289783a0845a7b69
3 | timeCreated: 1679632712
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Inspectors/InspectorsBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63189ab0f9ed57d41a121c741f7c8794
3 | timeCreated: 1639379933
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03b75d4d0b6bf494eb5e0884ac3ebb0f
3 | timeCreated: 1726798214
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages/ILanguages.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cfab193b95a86ba41ad2b565d7927568
3 | timeCreated: 1683366037
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages/Lan.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 |
4 | namespace ActionEditor
5 | {
6 | class Lan
7 | {
8 | #region 静态
9 |
10 | public static readonly Dictionary AllLanguages = new Dictionary();
11 | private static string _lan;
12 | public static ILanguages ins;
13 | internal static void Load()
14 | {
15 | var lan = Prefs.Lan_key;
16 | var types = EditorEX.GetImplementationsOf(typeof(ILanguages));
17 | //ins = new LanEN();
18 | foreach (var t in types)
19 | {
20 | var nameAtt = (NameAttribute)t.GetCustomAttributes(typeof(NameAttribute), false).FirstOrDefault();
21 | var name = nameAtt != null ? nameAtt.name : t.Name;
22 | AllLanguages[name] = System.Activator.CreateInstance(t) as ILanguages;
23 | if (lan == name)
24 | {
25 | ins = AllLanguages[name];
26 | }
27 | }
28 | _lan = lan;
29 | if (ins == null)
30 | {
31 | SetLanguage(AllLanguages.Keys.First());
32 | }
33 | }
34 |
35 | public static string Language => _lan;
36 |
37 | internal static void SetLanguage(string key)
38 | {
39 | if (AllLanguages.TryGetValue(key, out var type))
40 | {
41 | _lan = key;
42 | ins = type;
43 | Prefs.Lan_key = key;
44 | //EditorPrefs.SetString("ActionEditor_x", key);
45 | }
46 | }
47 |
48 |
49 | #endregion
50 |
51 |
52 |
53 | }
54 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages/Lan.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 93bedbc09bfcd3f4e931848814298c7f
3 | timeCreated: 1683175577
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages/LanCHS.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a58040d25e6abf46b1b24592d2aae2e
3 | timeCreated: 1683430229
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Languages/LanEN.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d10c061bb89a51040bbba6ce2ceec1e5
3 | timeCreated: 1683366255
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Prefs.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8cdf38bd15d79db4798c147e877af570
3 | timeCreated: 1638764692
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Preview.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5ffdad39ed515841aba8b461ac1a1ec
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Preview/AssetPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a7b1cab979aec214a9cddc7920cc93d6
3 | timeCreated: 1643182795
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Preview/PreviewBase.cs:
--------------------------------------------------------------------------------
1 | namespace 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 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Preview/PreviewBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c95c06629b1ef6a498a23c8273312858
3 | timeCreated: 1643181797
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Preview/TimePointers.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 209093d0ece41534dace803d016b8742
3 | timeCreated: 1643248712
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b11af0942a2262a4cbe5805b064c2829
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Resources/Stripes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ActionEditor/Editor/Resources/Stripes.png
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Styles.cs:
--------------------------------------------------------------------------------
1 | using UnityEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | static class Styles
7 | {
8 | private static float _timelineLeftWidth = 240;
9 | private static float _timelineRightWidth;
10 |
11 | public static Texture2D WhiteTexture => EditorGUIUtility.whiteTexture;
12 |
13 | private static Texture2D _Stripes;
14 |
15 |
16 | public static Texture2D Stripes
17 | {
18 | get
19 | {
20 | if (_Stripes == null)
21 | _Stripes = (Texture2D)Resources.Load("Stripes");
22 | return _Stripes;
23 | }
24 | }
25 |
26 | public static Color EndPointerColor = new Color(57 / 255f, 122 / 255f, 234 / 255f, 1);
27 | public static Color TimeStepRectColor = new Color(57 / 255f, 122 / 255f, 234 / 255f, 50 / 255f);
28 |
29 | public static Color ClipBackColor = new Color(0.3f, 0.3f, 0.3f);
30 |
31 | public static Color ClipBlendColor = new Color(144 / 255f, 144 / 255f, 144 / 255f, 0.5f);
32 |
33 |
34 | public const int SplitterWidth = 5;
35 | public const int RightGapWidth = 4;
36 | public const int HeaderHeight = 20;
37 | public const int PlayControlHeight = 40;
38 | public const int Space = 2;
39 | public const int LineHeight = 26;
40 | public const int ClipBottomRectHeight = 4;
41 | public const int ClipScaleRectWidth = 5;
42 |
43 | public const int BottomHeight = 5;
44 |
45 |
46 | public static float TimelineLeftWidth
47 | {
48 | get => _timelineLeftWidth;
49 | set
50 | {
51 | _timelineLeftWidth = value;
52 | }
53 | }
54 |
55 | public static float TimelineLeftTotalWidth => TimelineLeftWidth + SplitterWidth + RightGapWidth;
56 |
57 | public static float TimelineRightWidth
58 | {
59 | get => _timelineRightWidth;
60 | set => _timelineRightWidth = value;
61 | }
62 |
63 | public static Vector2 TimelineScrollPos;
64 |
65 | }
66 | }
67 |
68 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Styles.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cac2881e3e5ce3f4580dc1b1ff2d9524
3 | timeCreated: 1726798491
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cee9dd897dd293f4cab928e428dc797f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/ActionEditorWindow.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | class ActionEditorWindow : EditorWindow
8 | {
9 | [MenuItem("Tools/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 TimelineView _timelineView;
18 |
19 | void OnEnable()
20 | {
21 | Lan.Load();
22 | App.Window = this;
23 |
24 |
25 | titleContent = new GUIContent(Lan.ins.Title);
26 | minSize = new Vector2(500, 250);
27 | EditorEX.InitializeAssetTypes();
28 | App.OnInitialize?.Invoke();
29 | _timelineView = this.CreateView();
30 | }
31 |
32 | void OnDisable()
33 | {
34 | App.Window = null;
35 | App.OnDisable?.Invoke();
36 | }
37 | private void Update()
38 | {
39 | UpdateViews();
40 | if (App.NeedForceRefresh)
41 | this.Repaint();
42 | App.OnUpdate();
43 | }
44 |
45 | private Event eve;
46 | public PointerEventData _eventData = new PointerEventData();
47 |
48 | void OnGUI()
49 | {
50 | eve = Event.current;
51 | _eventData.SetEvent(eve);
52 | _timelineView.OnGUI(this.position);
53 | App.OnGUIEnd();
54 | App.KeyBoardEvent(eve);
55 | if (App.CopyAsset != null)
56 | this.Repaint();
57 | }
58 | private void OnInspectorUpdate()
59 | {
60 | if (App.SelectCount > 0)
61 | this.Repaint();
62 | }
63 |
64 |
65 | private List _views =
66 | new List();
67 |
68 |
69 | internal T CreateView() where T : ViewBase, new()
70 | {
71 | var cls = new T();
72 | cls.Init(this);
73 | if (!_views.Contains(cls))
74 | _views.Add(cls);
75 | return cls;
76 | }
77 |
78 | private void UpdateViews()
79 | {
80 | foreach (var view in _views)
81 | view.Update();
82 | }
83 | }
84 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/ActionEditorWindow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48f269404f952eb48b8bd0584d51dc15
3 | timeCreated: 1726795597
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/AssetPick.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using UnityEditor;
4 | using UnityEditor.IMGUI.Controls;
5 | using UnityEngine;
6 |
7 | namespace ActionEditor
8 | {
9 | class AssetPick : AdvancedDropdown
10 | {
11 | private string[] paths;
12 | private Action itemSelectedCallback;
13 |
14 | private AssetPick(string[] paths, Action itemSelectedCallback) : base(new AdvancedDropdownState())
15 | {
16 | this.paths = paths;
17 | this.itemSelectedCallback = itemSelectedCallback;
18 | }
19 | public static void ShowObjectPicker(Rect rect, string folder, string filter, Action itemSelectedCallback,
20 | Func fit = null)
21 | {
22 | var paths = AssetDatabase.FindAssets(filter, new string[] { folder })
23 | .Select(x => AssetDatabase.GUIDToAssetPath(x)).Where(x =>
24 | {
25 | if (fit != null)
26 | return fit(x);
27 | return true;
28 | });
29 | AssetPick pick = new AssetPick(paths.ToArray(), itemSelectedCallback);
30 | pick.Show(rect);
31 | }
32 |
33 | protected override void ItemSelected(AdvancedDropdownItem item)
34 | {
35 | EditorWindow.mouseOverWindow.Close();
36 | itemSelectedCallback?.Invoke(AssetDatabase.LoadAssetAtPath(item.name));
37 | //base.ItemSelected(item);
38 | }
39 | protected override AdvancedDropdownItem BuildRoot()
40 | {
41 | AdvancedDropdownItem root = new AdvancedDropdownItem("Assets");
42 | for (int i = 0; i < paths.Length; i++)
43 | {
44 | root.AddChild(new AdvancedDropdownItem(paths[i]));
45 | }
46 | return root;
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/AssetPick.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4387ecd5a65f56340ab7a9e38bc4d02f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 64d7782039fd02e44bd6f2e2e1a85bc2
3 | timeCreated: 1727234689
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip/BasicClipDraw.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c97ef34bcf6ae542ae981a1d61f9ea0
3 | timeCreated: 1727234734
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip/ClipDragger.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5e79b81a5f00e7148861074963a2cee4
3 | timeCreated: 1727249474
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip/ClipDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71b5e205b9e69344a8b30aafc52d0479
3 | timeCreated: 1727245846
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip/SignalClipDraw.cs:
--------------------------------------------------------------------------------
1 | using UnityEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | public class SignalClipDraw : BasicClipDraw
7 | {
8 | protected override void OnDraw()
9 | {
10 |
11 |
12 |
13 |
14 |
15 | var center = ClipRect.center;
16 | ClipRect.width = 20;
17 | ClipRect.center = center;
18 | GUI.color = _clip.GetColor();
19 | //var matrix = GUI.matrix;
20 |
21 | //GUI.DrawTexture(ClipRect,
22 | // EditorGUIUtility.TrIconContent("AnimationWindowEvent Icon").image,
23 | // ScaleMode.StretchToFill,false,1,_clip.GetColor(),100,100);
24 | //GUIUtility.ScaleAroundPivot(new Vector2(3, 1.5f), ClipRect.center);
25 | EditorGUI.LabelField(ClipRect, EditorGUIUtility.TrIconContent("AnimationWindowEvent Icon", _clip.GetName()));
26 | //GUI.matrix = matrix;
27 | GUI.color = Color.white;
28 |
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Clip/SignalClipDraw.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6cfc1476206252345958775ead234237
3 | timeCreated: 1727245818
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/CreateAssetWindow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 949969b031098414f8d22668927b28f0
3 | timeCreated: 1726799030
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/PreferencesWindow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ce775734f3308ef499011bf9e83b72b7
3 | timeCreated: 1726800449
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc312a065ce276a439bf525eb9d35c1f
3 | timeCreated: 1726801442
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/SplitterView.cs:
--------------------------------------------------------------------------------
1 | using UnityEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | 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 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/SplitterView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf96206a222adca43a821b13a32d81fe
3 | timeCreated: 1726802264
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/TimelineHeaderView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b04691cee27d56f41baf4a60c433c19b
3 | timeCreated: 1726818092
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/TimelineMiddleView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8245872ed72e2cb4faa1034e6df52d6f
3 | timeCreated: 1726818691
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/TimelinePointerView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71336eeca29b51a47883cab2ffba5893
3 | timeCreated: 1726924062
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/TimelineTrackItemView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12f31e74db7496846bb3cfa160911fdf
3 | timeCreated: 1726817997
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/TimelineView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d67eb5b977cd57e4fbdbe7fc1a298e04
3 | timeCreated: 1726797105
--------------------------------------------------------------------------------
/Assets/ActionEditor/Editor/Window/Timeline/ViewBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9bc67574ed7b3c478c56986da5ba1b1
3 | timeCreated: 1726796084
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 008259ad046bb80479e56f4f77138d5b
3 | timeCreated: 1725873910
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/ActionEditor.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ActionEditor"
3 | }
4 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/ActionEditor.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2f5d7ff7639293b4bbbea67c608851e6
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4189b56533e32a44c809b88e1a8ed31f
3 | timeCreated: 1727422935
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/Asset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8d037576ab3b5b649b4ebe8afb201b5e
3 | timeCreated: 1727422948
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/Clip.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | //using FullSerializer;
4 | using UnityEngine;
5 |
6 | namespace ActionEditor
7 | {
8 | [Serializable]
9 | public abstract class Clip : DirectableBase, IClip
10 | {
11 | [SerializeField] private float startTime;
12 | [SerializeField][HideInInspector] protected float length = 1f;
13 |
14 |
15 | public override float Length
16 | {
17 | get => length;
18 | set
19 | {
20 | length = value;
21 | }
22 | }
23 |
24 | public abstract bool IsValid { get; }
25 |
26 | public sealed override IEnumerable Children => null;
27 |
28 |
29 | public sealed override float StartTime
30 | {
31 | get => startTime;
32 | set
33 | {
34 | if (Math.Abs(startTime - value) > 0.0001f)
35 | {
36 | startTime = Mathf.Max(value, 0);
37 | }
38 | }
39 | }
40 |
41 | public sealed override float EndTime
42 | {
43 | get => StartTime + Length;
44 | set
45 | {
46 | if (Math.Abs(StartTime + Length - value) > 0.0001f)
47 | {
48 | Length = Mathf.Max(value - StartTime, 0);
49 | this.AsBlendAble()?.ValidBlend();
50 |
51 | }
52 | }
53 | }
54 |
55 | public sealed override bool IsActive
56 | {
57 | get => Parent?.IsActive ?? false;
58 | set { }
59 | }
60 |
61 | public sealed override bool IsCollapsed
62 | {
63 | get { return Parent != null && Parent.IsCollapsed; }
64 | set { }
65 | }
66 |
67 | public sealed override bool IsLocked
68 | {
69 | get { return Parent != null && Parent.IsLocked; }
70 | set { }
71 | }
72 |
73 | //public virtual float BlendIn
74 | //{
75 | // get => 0;
76 | // set { }
77 | //}
78 |
79 | //public virtual float BlendOut
80 | //{
81 | // get => 0;
82 | // set { }
83 | //}
84 |
85 | //public virtual bool CanCrossBlend => false;
86 |
87 |
88 | public Clip GetNextClip() => this.GetNextSibling();
89 |
90 | }
91 |
92 |
93 | [Serializable]
94 | public abstract class ClipSignal : Clip
95 | {
96 | public override float Length
97 | {
98 | get => 0;
99 | //set => TimeCache();
100 | }
101 | }
102 |
103 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/Clip.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b920916f70d26ea4ea9e14a06f5b4870
3 | timeCreated: 1727423024
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/DirectableBase.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | //using FullSerializer;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | public abstract class DirectableBase : IDirectable
8 | {
9 | [SerializeField][HideInInspector] private string name;
10 | [SerializeField][HideInInspector] protected bool isLocked;
11 | [SerializeField][HideInInspector] protected bool active = true;
12 |
13 | public abstract float Length { get; set; }
14 |
15 | public virtual bool IsLocked
16 | {
17 | get => Parent != null && (Parent.IsLocked || isLocked);
18 | set => isLocked = value;
19 | }
20 | public virtual bool IsActive
21 | {
22 | get => Parent != null && Parent.IsActive && active;
23 | set
24 | {
25 | if (active != value)
26 | {
27 | active = value;
28 | if (Root != null) Root.Validate();
29 | }
30 | }
31 | }
32 | public string Name
33 | {
34 | get => name;
35 | set => name = value;
36 | }
37 |
38 | private Asset root;
39 | private IDirectable parent;
40 |
41 | public Asset Root => root;
42 |
43 | public IDirectable Parent => parent;
44 |
45 |
46 | void IDirectable.AfterDeserialize() => OnAfterDeserialize();
47 |
48 | void IDirectable.BeforeSerialize() => OnBeforeSerialize();
49 |
50 | public virtual void Validate(Asset root, IDirectable parent)
51 | {
52 | this.root = root;
53 | this.parent = parent;
54 | }
55 | protected virtual void OnAfterDeserialize() { }
56 | protected virtual void OnBeforeSerialize() { }
57 |
58 |
59 | public virtual IEnumerable Children { get; }
60 |
61 | public abstract bool IsCollapsed { get; set; }
62 |
63 | public abstract float StartTime { get; set; }
64 |
65 | public abstract float EndTime { get; set; }
66 |
67 | }
68 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/DirectableBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cc6b2f1202efe9845944a48ca9032d89
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/Group.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc467dcbb8005554cbb31dcc857b991c
3 | timeCreated: 1727422982
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Assets/Track.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c12124a3354dde5489fdc31af00b7db7
3 | timeCreated: 1727423001
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/Attributes.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee2d1e9c827383849a8e1f4266160833
3 | timeCreated: 1638773860
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/IAction.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public interface IAction {
6 | float Length { get; set; }
7 | float StartTime { get; }
8 | float EndTime { get; }
9 | }
10 |
11 | public interface IDirectable : IAction
12 | {
13 | Asset Root { get; }
14 | IDirectable Parent { get; }
15 | IEnumerable Children { get; }
16 |
17 | string Name { get; }
18 |
19 | bool IsActive { get; set; }
20 | bool IsCollapsed { get; set; }
21 | bool IsLocked { get; set; }
22 |
23 |
24 |
25 | void Validate(Asset root, IDirectable parent);
26 | void AfterDeserialize();
27 |
28 | void BeforeSerialize();
29 | }
30 |
31 | public interface IClip : IDirectable { }
32 | public interface IResizeAble : IClip { }
33 | public interface IBlendAble : IClip
34 | {
35 | float BlendIn { get; set; }
36 | float BlendOut { get; set; }
37 | }
38 | public interface ILengthMatchAble : IClip
39 | {
40 | float MatchAbleLength { get; }
41 | }
42 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/IAction.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 89bd7c872903b49469a9f97ab7d7bd5b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/ActionEditor/Runtime/IDirectableExtensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40170d980295c3544be412291a7a896c
3 | timeCreated: 1638951418
--------------------------------------------------------------------------------
/Assets/ActionEditor/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.woo.actioneditor",
3 | "displayName": "ActionEditor",
4 | "version": "1.0.22",
5 | "unity": "2019.4",
6 | "description": "ActionEditor",
7 | "type": "library",
8 | "author": {
9 | "name": "woo",
10 | "email": "2809399366@qq.com",
11 | "url": "https://github.com/OnClick9927"
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/ActionEditor/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5ad9f38f20770b14fa920ff61020505f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a0c7edae0f4721409c463101222f5f7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Editor/ActionEditor.txt:
--------------------------------------------------------------------------------
1 | {"TimeStepMode":0,"SnapInterval":0.009999999776482582,"FrameRate":10,"AutoSaveSeconds":120,"SavePath":"Assets","Lan_key":"简体中文","MagnetSnapping":true,"TrackListLeftMargin":180.0}
--------------------------------------------------------------------------------
/Assets/Editor/ActionEditor.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d77c55c7290832e469d7b882955524d2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/ResRaw.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 78957816c3c7ea543bf69b2e90287394
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9718f93144fc72846ad5f451b99ac6f8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86b2b172012d79f449ced8a38dc1b51f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/301.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 304a275b1914e634f9cc515d034aa452
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/VFX_Anim02.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7ab8c0d7966e29348aa90a8cbc86af75
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/VFX_Anim33203.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3508b89f3acf3e84c956f41517165266
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/VFX_Animn04.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 923c335d69fd6f541ac5afa0a8ea2d51
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/pPlane2.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: pPlane2
9 | serializedVersion: 2
10 | m_AnimatorParameters: []
11 | m_AnimatorLayers:
12 | - serializedVersion: 3
13 | m_Name: Base Layer
14 | m_StateMachine: {fileID: 110700000}
15 | m_Mask: {fileID: 0}
16 | m_BlendingMode: 0
17 | m_SyncedLayerIndex: -1
18 | m_StateMachineMotionSetIndex: 0
19 | m_DefaultWeight: 0
20 | m_IKPass: 0
21 | m_SyncedLayerAffectsTiming: 0
22 | m_Controller: {fileID: 9100000}
23 | --- !u!1102 &110200000
24 | State:
25 | m_ObjectHideFlags: 3
26 | m_PrefabParentObject: {fileID: 0}
27 | m_PrefabInternal: {fileID: 0}
28 | m_Name: bossshuaxin01
29 | m_Speed: 1
30 | m_CycleOffset: 0
31 | m_Motions:
32 | - {fileID: 7400000, guid: 304a275b1914e634f9cc515d034aa452, type: 2}
33 | m_ParentStateMachine: {fileID: 110700000}
34 | m_Position: {x: 50, y: 50, z: 0}
35 | m_IKOnFeet: 0
36 | m_Mirror: 0
37 | m_Tag:
38 | --- !u!1107 &110700000
39 | StateMachine:
40 | serializedVersion: 2
41 | m_ObjectHideFlags: 3
42 | m_PrefabParentObject: {fileID: 0}
43 | m_PrefabInternal: {fileID: 0}
44 | m_Name: Base Layer
45 | m_DefaultState: {fileID: 110200000}
46 | m_States:
47 | - {fileID: 110200000}
48 | m_ChildStateMachine: []
49 | m_ChildStateMachinePosition: []
50 | m_OrderedTransitions: {}
51 | m_MotionSetCount: 1
52 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
53 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
54 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/pPlane2.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 815502f3a9460ab48b401524c4772252
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/pPlane4.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: pPlane4
9 | serializedVersion: 2
10 | m_AnimatorParameters: []
11 | m_AnimatorLayers:
12 | - serializedVersion: 3
13 | m_Name: Base Layer
14 | m_StateMachine: {fileID: 110700000}
15 | m_Mask: {fileID: 0}
16 | m_BlendingMode: 0
17 | m_SyncedLayerIndex: -1
18 | m_StateMachineMotionSetIndex: 0
19 | m_DefaultWeight: 0
20 | m_IKPass: 0
21 | m_SyncedLayerAffectsTiming: 0
22 | m_Controller: {fileID: 9100000}
23 | --- !u!1102 &110200000
24 | State:
25 | m_ObjectHideFlags: 3
26 | m_PrefabParentObject: {fileID: 0}
27 | m_PrefabInternal: {fileID: 0}
28 | m_Name: bossshuaxin02
29 | m_Speed: 1
30 | m_CycleOffset: 0
31 | m_Motions:
32 | - {fileID: 7400000, guid: 7ab8c0d7966e29348aa90a8cbc86af75, type: 2}
33 | m_ParentStateMachine: {fileID: 110700000}
34 | m_Position: {x: 50, y: 50, z: 0}
35 | m_IKOnFeet: 0
36 | m_Mirror: 0
37 | m_Tag:
38 | --- !u!1107 &110700000
39 | StateMachine:
40 | serializedVersion: 2
41 | m_ObjectHideFlags: 3
42 | m_PrefabParentObject: {fileID: 0}
43 | m_PrefabInternal: {fileID: 0}
44 | m_Name: Base Layer
45 | m_DefaultState: {fileID: 110200000}
46 | m_States:
47 | - {fileID: 110200000}
48 | m_ChildStateMachine: []
49 | m_ChildStateMachinePosition: []
50 | m_OrderedTransitions: {}
51 | m_MotionSetCount: 1
52 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
53 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
54 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/pPlane4.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f83ef9984afb8224898bb9ca4d6de21b
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/polySurface5.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: polySurface5
9 | serializedVersion: 2
10 | m_AnimatorParameters: []
11 | m_AnimatorLayers:
12 | - serializedVersion: 3
13 | m_Name: Base Layer
14 | m_StateMachine: {fileID: 110700000}
15 | m_Mask: {fileID: 0}
16 | m_BlendingMode: 0
17 | m_SyncedLayerIndex: -1
18 | m_StateMachineMotionSetIndex: 0
19 | m_DefaultWeight: 0
20 | m_IKPass: 0
21 | m_SyncedLayerAffectsTiming: 0
22 | m_Controller: {fileID: 9100000}
23 | --- !u!1102 &110200000
24 | State:
25 | m_ObjectHideFlags: 3
26 | m_PrefabParentObject: {fileID: 0}
27 | m_PrefabInternal: {fileID: 0}
28 | m_Name: bossshuaxin03
29 | m_Speed: 1
30 | m_CycleOffset: 0
31 | m_Motions:
32 | - {fileID: 7400000, guid: 3508b89f3acf3e84c956f41517165266, type: 2}
33 | m_ParentStateMachine: {fileID: 110700000}
34 | m_Position: {x: 50, y: 50, z: 0}
35 | m_IKOnFeet: 0
36 | m_Mirror: 0
37 | m_Tag:
38 | --- !u!1107 &110700000
39 | StateMachine:
40 | serializedVersion: 2
41 | m_ObjectHideFlags: 3
42 | m_PrefabParentObject: {fileID: 0}
43 | m_PrefabInternal: {fileID: 0}
44 | m_Name: Base Layer
45 | m_DefaultState: {fileID: 110200000}
46 | m_States:
47 | - {fileID: 110200000}
48 | m_ChildStateMachine: []
49 | m_ChildStateMachinePosition: []
50 | m_OrderedTransitions: {}
51 | m_MotionSetCount: 1
52 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
53 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
54 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/polySurface5.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 129aa7f666af3f74694637eda7f6245f
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/polySurface6.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: polySurface6
9 | serializedVersion: 2
10 | m_AnimatorParameters: []
11 | m_AnimatorLayers:
12 | - serializedVersion: 3
13 | m_Name: Base Layer
14 | m_StateMachine: {fileID: 110700000}
15 | m_Mask: {fileID: 0}
16 | m_BlendingMode: 0
17 | m_SyncedLayerIndex: -1
18 | m_StateMachineMotionSetIndex: 0
19 | m_DefaultWeight: 0
20 | m_IKPass: 0
21 | m_SyncedLayerAffectsTiming: 0
22 | m_Controller: {fileID: 9100000}
23 | --- !u!1102 &110200000
24 | State:
25 | m_ObjectHideFlags: 3
26 | m_PrefabParentObject: {fileID: 0}
27 | m_PrefabInternal: {fileID: 0}
28 | m_Name: bossshuaxin04
29 | m_Speed: 1
30 | m_CycleOffset: 0
31 | m_Motions:
32 | - {fileID: 7400000, guid: 923c335d69fd6f541ac5afa0a8ea2d51, type: 2}
33 | m_ParentStateMachine: {fileID: 110700000}
34 | m_Position: {x: 50, y: 50, z: 0}
35 | m_IKOnFeet: 0
36 | m_Mirror: 0
37 | m_Tag:
38 | --- !u!1107 &110700000
39 | StateMachine:
40 | serializedVersion: 2
41 | m_ObjectHideFlags: 3
42 | m_PrefabParentObject: {fileID: 0}
43 | m_PrefabInternal: {fileID: 0}
44 | m_Name: Base Layer
45 | m_DefaultState: {fileID: 110200000}
46 | m_States:
47 | - {fileID: 110200000}
48 | m_ChildStateMachine: []
49 | m_ChildStateMachinePosition: []
50 | m_OrderedTransitions: {}
51 | m_MotionSetCount: 1
52 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
53 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
54 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Animations/polySurface6.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d657e1e3881e7724fac0ef6c9f368195
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a3f5e39d5d878fb4e8291b4e7a1ea74c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_0201.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: VFX_0201
11 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _MainTex:
23 | m_Texture: {fileID: 2800000, guid: be4c01fd86ef0f943acf24c7e77dead8, type: 3}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | m_Floats:
27 | - _InvFade: 1
28 | m_Colors:
29 | - _Color: {r: 1, g: 1, b: 1, a: 1}
30 | - _TintColor: {r: 0.7075472, g: 0.46489197, b: 0.21026166, a: 0.7529412}
31 | m_BuildTextureStacks: []
32 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_0201.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16cd85bd4878b004d80bb4e16d9ce4d1
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02118.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: VFX_02118
11 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _MainTex:
23 | m_Texture: {fileID: 2800000, guid: d9d37d0430486d24fbd414fe36184e5a, type: 3}
24 | m_Scale: {x: 2, y: 2}
25 | m_Offset: {x: 0, y: 0}
26 | m_Floats:
27 | - _InvFade: 1
28 | m_Colors:
29 | - _Color: {r: 1, g: 1, b: 1, a: 1}
30 | - _TintColor: {r: 0.7352941, g: 0.56228375, b: 0.30276814, a: 0.7607843}
31 | m_BuildTextureStacks: []
32 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02118.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 91499463f11e0ca4f9c4b6924baf28f0
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02131.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: VFX_02131
11 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _MainTex:
23 | m_Texture: {fileID: 2800000, guid: b1dc36e5bd2681c489109472d924bbb8, type: 3}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | m_Floats:
27 | - _InvFade: 1
28 | m_Colors:
29 | - _Color: {r: 1, g: 1, b: 1, a: 1}
30 | - _TintColor: {r: 0.33823532, g: 0.33823532, b: 0.33823532, a: 0.9019608}
31 | m_BuildTextureStacks: []
32 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02131.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae5a0a301dc85a04183e42ad7b988645
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02742.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: VFX_02742
11 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _MainTex:
23 | m_Texture: {fileID: 2800000, guid: 5698df742713a5947be2c9dd210fa825, type: 3}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | m_Floats:
27 | - _InvFade: 1
28 | m_Colors:
29 | - _Color: {r: 1, g: 1, b: 1, a: 1}
30 | - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
31 | m_BuildTextureStacks: []
32 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/VFX_02742.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5cacfc183a0193f4f8f7f0e292aa0682
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/vfx3244.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: vfx3244
11 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _MainTex:
23 | m_Texture: {fileID: 2800000, guid: 0fd84e915164c7e4f932ad7b5a4f6066, type: 3}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | m_Floats:
27 | - _InvFade: 1
28 | m_Colors:
29 | - _Color: {r: 1, g: 1, b: 1, a: 1}
30 | - _TintColor: {r: 1, g: 1, b: 1, a: 1}
31 | m_BuildTextureStacks: []
32 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Materials/vfx3244.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b310989d16e39a94aa0c10ca193b2222
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Models.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fad57edee7406ff42be4d1f2b8cfbb05
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Models/VFX_Model7.fbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Models/VFX_Model7.fbx
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6e909d752d24eb4f890c1e322566a66
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Prefabs/VFX_Fire Magic Array 004.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2dc18ec16fb0c1b4f834320bac7c03d9
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7fe7d156cd80ea4f9dd71bfa9e2bbcb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/102.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Textures/102.tga
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/66089.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Textures/66089.tga
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/82.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Textures/82.tga
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/VFX_LS004.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Textures/VFX_LS004.tga
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/VFX_LS004.tga.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0fd84e915164c7e4f932ad7b5a4f6066
3 | TextureImporter:
4 | serializedVersion: 2
5 | mipmaps:
6 | mipMapMode: 0
7 | enableMipMap: 1
8 | linearTexture: 0
9 | correctGamma: 0
10 | fadeOut: 0
11 | borderMipMap: 0
12 | mipMapFadeDistanceStart: 1
13 | mipMapFadeDistanceEnd: 3
14 | bumpmap:
15 | convertToNormalMap: 0
16 | externalNormalMap: 0
17 | heightScale: .25
18 | normalMapFilter: 0
19 | isReadable: 0
20 | grayScaleToAlpha: 0
21 | generateCubemap: 0
22 | seamlessCubemap: 0
23 | textureFormat: -1
24 | maxTextureSize: 1024
25 | textureSettings:
26 | filterMode: -1
27 | aniso: -1
28 | mipBias: -1
29 | wrapMode: -1
30 | nPOTScale: 1
31 | lightmap: 0
32 | compressionQuality: 50
33 | spriteMode: 0
34 | spriteExtrude: 1
35 | spriteMeshType: 1
36 | alignment: 0
37 | spritePivot: {x: .5, y: .5}
38 | spritePixelsToUnits: 100
39 | alphaIsTransparency: 0
40 | textureType: -1
41 | buildTargetSettings: []
42 | spriteSheet:
43 | sprites: []
44 | spritePackingTag:
45 | userData:
46 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/VFX_LS018.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Effects/Textures/VFX_LS018.tga
--------------------------------------------------------------------------------
/Assets/ResRaw/Effects/Textures/VFX_LS018.tga.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d9d37d0430486d24fbd414fe36184e5a
3 | TextureImporter:
4 | serializedVersion: 2
5 | mipmaps:
6 | mipMapMode: 0
7 | enableMipMap: 1
8 | linearTexture: 0
9 | correctGamma: 0
10 | fadeOut: 0
11 | borderMipMap: 0
12 | mipMapFadeDistanceStart: 1
13 | mipMapFadeDistanceEnd: 3
14 | bumpmap:
15 | convertToNormalMap: 0
16 | externalNormalMap: 0
17 | heightScale: .25
18 | normalMapFilter: 0
19 | isReadable: 0
20 | grayScaleToAlpha: 0
21 | generateCubemap: 0
22 | seamlessCubemap: 0
23 | textureFormat: -1
24 | maxTextureSize: 1024
25 | textureSettings:
26 | filterMode: -1
27 | aniso: -1
28 | mipBias: -1
29 | wrapMode: -1
30 | nPOTScale: 1
31 | lightmap: 0
32 | compressionQuality: 50
33 | spriteMode: 0
34 | spriteExtrude: 1
35 | spriteMeshType: 1
36 | alignment: 0
37 | spritePivot: {x: .5, y: .5}
38 | spritePixelsToUnits: 100
39 | alphaIsTransparency: 0
40 | textureType: -1
41 | buildTargetSettings: []
42 | spriteSheet:
43 | sprites: []
44 | spritePackingTag:
45 | userData:
46 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d69bee73ce595fd4f9b240421d56362e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc7fc3973d1315d42b53076a10a0bb84
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad97c79b31b90f5459966f193a16033f
3 | folderAsset: yes
4 | timeCreated: 1506157957
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d3580225005a8a14b8c3c55de87a2f81
3 | folderAsset: yes
4 | timeCreated: 1506157958
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Materials/skeleton_D.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b1494958bf9856a479bec1767c02878e
3 | timeCreated: 18446744011573954816
4 | NativeFormatImporter:
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Attack.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Attack.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Damage.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Damage.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Death.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Death.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Idle.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Idle.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Knockback.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Knockback.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Run.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Run.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Skill.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Skill.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Stand.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Stand.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Walk.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Ani/Skeleton@Walk.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Character.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2a861fd633658c04e82882c53fe3a6d9
3 | folderAsset: yes
4 | timeCreated: 1506157957
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Character/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d6d48cbd71222d499380e924ece197a
3 | folderAsset: yes
4 | timeCreated: 1506157957
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Character/Materials/skeleton_D.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed14df0368fe53543907335c0e3902c6
3 | timeCreated: 18446744011573954816
4 | NativeFormatImporter:
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Character/Skeleton@Skin.FBX:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Character/Skeleton@Skin.FBX
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Skeleton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9e27b0bdab1ad7242a009899d15c0e67
3 | timeCreated: 1506158311
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 100100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/SkeletonController.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 595f7cae6f82a6146b20ca287fe7c859
3 | timeCreated: 1506158117
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 9100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Texture.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66497a105b2d94a45b853c544357a4ea
3 | folderAsset: yes
4 | timeCreated: 1506157957
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Texture/Skeleton_D.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Model/Skeleton/Texture/Skeleton_D.tif
--------------------------------------------------------------------------------
/Assets/ResRaw/Model/Skeleton/Texture/Skeleton_D.tif.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 943f3c476130c4f4f8ae55ef3ccd38ba
3 | timeCreated: 1510979420
4 | licenseType: Free
5 | TextureImporter:
6 | fileIDToRecycleName: {}
7 | externalObjects: {}
8 | serializedVersion: 4
9 | mipmaps:
10 | mipMapMode: 0
11 | enableMipMap: 1
12 | sRGBTexture: 1
13 | linearTexture: 0
14 | fadeOut: 0
15 | borderMipMap: 0
16 | mipMapsPreserveCoverage: 0
17 | alphaTestReferenceValue: 0.5
18 | mipMapFadeDistanceStart: 1
19 | mipMapFadeDistanceEnd: 3
20 | bumpmap:
21 | convertToNormalMap: 0
22 | externalNormalMap: 0
23 | heightScale: 0.25
24 | normalMapFilter: 0
25 | isReadable: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: -1
31 | maxTextureSize: 1024
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -1
37 | wrapU: -1
38 | wrapV: -1
39 | wrapW: -1
40 | nPOTScale: 1
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 0
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 0
53 | spriteTessellationDetail: -1
54 | textureType: 0
55 | textureShape: 1
56 | maxTextureSizeSet: 0
57 | compressionQualitySet: 0
58 | textureFormatSet: 0
59 | platformSettings:
60 | - buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 1024
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | spritePackingTag:
76 | userData:
77 | assetBundleName:
78 | assetBundleVariant:
79 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Skill.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 019522f44010fc945b7fb443abf13ab0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Sound.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18c9ef4a1cbeb034da1c1a59746ebbe8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ResRaw/Sound/open_door.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/ResRaw/Sound/open_door.wav
--------------------------------------------------------------------------------
/Assets/ResRaw/Sound/open_door.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69b0f778f2271114185b7100ad671e15
3 | AudioImporter:
4 | externalObjects: {}
5 | serializedVersion: 6
6 | defaultSettings:
7 | loadType: 0
8 | sampleRateSetting: 0
9 | sampleRateOverride: 44100
10 | compressionFormat: 1
11 | quality: 1
12 | conversionMode: 0
13 | platformSettingOverrides: {}
14 | forceToMono: 0
15 | normalize: 1
16 | preloadAudioData: 1
17 | loadInBackground: 0
18 | ambisonic: 0
19 | 3D: 1
20 | userData:
21 | assetBundleName:
22 | assetBundleVariant:
23 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 285bc7db84e9259439494e5117a62aa2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Easing.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 289b0bbbadad662468e15a6917e4700c
3 | timeCreated: 1639623816
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2daa5c1f92445048aecf445fa5057a6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe9ebe2a0e5ccb9408cc66d2fba2aa02
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 81d0057143f3fe2478540d6c0b97b1ab
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Log.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3d60ced8e22342899a97bd8399ad5a26
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Log/Log.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace ActionEditor
4 | {
5 | public static class Log
6 | {
7 | public static bool Open = false;
8 |
9 | static Log()
10 | {
11 | #if UNITY_EDITOR
12 | Open = true;
13 | #endif
14 | }
15 |
16 | public static void I(object message)
17 | {
18 | if (Open)
19 | UnityEngine.Debug.Log(message);
20 | }
21 |
22 | public static void W(object message)
23 | {
24 | if (Open)
25 | UnityEngine.Debug.LogWarning(message);
26 | }
27 |
28 | public static void E(object message)
29 | {
30 | if (Open)
31 | UnityEngine.Debug.LogError(message);
32 | }
33 |
34 | public static void Exception(Exception exception)
35 | {
36 | if (Open)
37 | UnityEngine.Debug.LogException(exception);
38 | }
39 |
40 | public static void Exception(Exception exception, UnityEngine.Object context)
41 | {
42 | if (Open)
43 | UnityEngine.Debug.LogException(exception, context);
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Log/Log.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03ea3505028b46fb8356fcd77001236c
3 | timeCreated: 1680834940
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Services.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c6a4e698c759429cafda208df585de82
3 | timeCreated: 1603180451
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Services/MonoManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | public class MonoManager : MonoBehaviour
7 | {
8 | public event Action OnUpdate;
9 | public event Action OnLateUpdate;
10 | public event Action OnFixedUpdate;
11 | public event Action OnApplicationQuitAction;
12 | public event Action OnApplicationPauseAction;
13 |
14 | private static bool IsQuiting { get; set; }
15 |
16 | private static MonoManager _inst;
17 |
18 | public static MonoManager Inst
19 | {
20 | get
21 | {
22 | if (_inst != null || IsQuiting) return _inst;
23 | _inst = FindObjectOfType();
24 | if (_inst == null)
25 | {
26 | _inst = new GameObject("_MonoTimer").AddComponent();
27 | }
28 |
29 | return _inst;
30 | }
31 | }
32 |
33 |
34 | ///Creates the MonoManager singleton
35 | public static void Create()
36 | {
37 | _inst = Inst;
38 | }
39 |
40 | protected void OnApplicationQuit()
41 | {
42 | IsQuiting = true;
43 | OnApplicationQuitAction?.Invoke();
44 | }
45 |
46 | protected void OnApplicationPause(bool isPause)
47 | {
48 | OnApplicationPauseAction?.Invoke(isPause);
49 | }
50 |
51 | protected void Awake()
52 | {
53 | if (_inst != null && _inst != this)
54 | {
55 | DestroyImmediate(this.gameObject);
56 | return;
57 | }
58 |
59 | DontDestroyOnLoad(gameObject);
60 | _inst = this;
61 | }
62 |
63 | protected void Update()
64 | {
65 | OnUpdate?.Invoke();
66 | }
67 |
68 | protected void LateUpdate()
69 | {
70 | OnLateUpdate?.Invoke();
71 | }
72 |
73 | protected void FixedUpdate()
74 | {
75 | OnFixedUpdate?.Invoke();
76 | }
77 | }
78 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Services/MonoManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 869c4449527c495c833b9d848ce61968
3 | timeCreated: 1614234084
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Services/Timer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34564c54c20648aab48bc9dcdc333435
3 | timeCreated: 1614222135
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 255a1252a73f5164e94a7e7f52a7cd25
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d069cf2e375b8a74ebab6f3df1f74a91
3 | timeCreated: 1656996254
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection/ParallelTaskCollection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 33f78136d6a7de14688a6d3ed6903557
3 | timeCreated: 1657002644
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection/SequenceTaskCollection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7440203326fc09a479080181660af525
3 | timeCreated: 1657003965
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection/TaskCollection.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public abstract class TaskCollection : NTask, ITaskCollection
6 | {
7 | protected readonly List RawList;
8 | protected readonly List FinishList;
9 | protected readonly List CurRunTask;
10 |
11 |
12 | public TaskCollection(string taskInfo = "")
13 | {
14 | RawList = new List();
15 | FinishList = new List();
16 | CurRunTask = new List();
17 | TaskInfo = taskInfo;
18 | Status = TaskStatus.None;
19 | }
20 |
21 | public List CurrentTask => CurRunTask;
22 |
23 | public virtual int Count => RawList.Count + FinishList.Count;
24 |
25 | ///
26 | /// 任务失败中断任务链
27 | ///
28 | public virtual bool FailBreak
29 | {
30 | get;
31 | set;
32 | }
33 |
34 | public override float Progress
35 | {
36 | get
37 | {
38 | if (Status == TaskStatus.Success) return 1;
39 | if (Status == TaskStatus.None) return 0;
40 | var finishCount = FinishList.Count;
41 | for (var index = 0; index < CurRunTask.Count; index++)
42 | {
43 | var element = CurRunTask[index];
44 | finishCount += (int)element.Progress;
45 | }
46 |
47 | return finishCount * 1f / RawList.Count;
48 | }
49 | }
50 |
51 | protected override TaskStatus OnProcess()
52 | {
53 | return this.RunTasksAndCheckIfDone();
54 | }
55 |
56 | public ITaskCollection AddTask(ITask task)
57 | {
58 | RawList.Add(task);
59 | return this;
60 | }
61 |
62 |
63 | public override void Reset()
64 | {
65 | FinishList.Clear();
66 | CurrentTask.Clear();
67 | Status = TaskStatus.None;
68 | for (int i = 0,len = RawList.Count; i < len; i++)
69 | {
70 | RawList[i].Reset();
71 | }
72 | }
73 |
74 | public override void Stop()
75 | {
76 | FinishList.Clear();
77 | Status = TaskStatus.None;
78 | for (var i = 0; i < CurRunTask.Count; i++)
79 | {
80 | var task = CurrentTask[i];
81 | task.Stop();
82 | }
83 | }
84 |
85 |
86 | public virtual void Clear()
87 | {
88 | FinishList.Clear();
89 | RawList.Clear();
90 | Status = TaskStatus.None;
91 | }
92 |
93 | protected abstract TaskStatus RunTasksAndCheckIfDone();
94 | }
95 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection/TaskCollection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e84dd447d4e477a478c1cefaf7a14bc3
3 | timeCreated: 1656996883
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Collection/TimelineTaskCollection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2532701b307e7d64386ae6a0ccedbf3c
3 | timeCreated: 1657434862
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Extensions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ea8861aa2e7ea884ea4ee74daeda8caa
3 | timeCreated: 1657007208
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Extensions/TaskChainExtension.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | public static partial class TaskChainExtension
7 | {
8 | public static SequenceTaskCollection Sequence(this T selfbehaviour) where T : MonoBehaviour
9 | {
10 | var retNodeChain = new SequenceTaskCollection();
11 | return retNodeChain;
12 | }
13 |
14 | public static ParallelTaskCollection Parallel(this T selfbehaviour) where T : MonoBehaviour
15 | {
16 | var retNodeChain = new ParallelTaskCollection();
17 | return retNodeChain;
18 | }
19 |
20 | // public static TimelineList Timeline(this T selfbehaviour) where T : MonoBehaviour
21 | // {
22 | // var retNodeChain = new TimelineList();
23 | // return retNodeChain;
24 | // }
25 |
26 | // public static ITaskCollection OnComplete(this ITaskCollection selfChain, Action callback)
27 | // {
28 | // selfChain.OnComplete(callback);
29 | // return selfChain;
30 | // }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Extensions/TaskChainExtension.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb9626fffe2a12242999e5c295218da1
3 | timeCreated: 1657007222
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3fdfec8acff76af4daef6cf6c55c78f0
3 | timeCreated: 1656996246
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/IProcess.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | ///
4 | /// 进度
5 | ///
6 | public interface IProcess
7 | {
8 | TaskStatus Process();
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/IProcess.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5556e4b457d51d49bf2d9ed0e024899
3 | timeCreated: 1656996282
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/IRunner.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public interface IRunner
4 | {
5 | ///
6 | /// 是否暂停
7 | ///
8 | bool IsPaused { get; set; }
9 |
10 | ///
11 | /// 是否已经终止了
12 | ///
13 | bool IsKilled { get; }
14 |
15 | ///
16 | /// 当前运行的任务数量
17 | ///
18 | int RunningTaskNum { get; }
19 |
20 | ///
21 | /// 准备执行的任务数量
22 | ///
23 | int NeedRunTaskNum { get; }
24 |
25 | ///
26 | /// 执行一个任务
27 | ///
28 | /// 任务对象
29 | void Run(ITask task);
30 |
31 | void Process();
32 |
33 | ///
34 | /// 停止任务
35 | ///
36 | /// 任务对象
37 | void StopTask(ITask task);
38 |
39 | ///
40 | /// 停止所有任务
41 | ///
42 | void StopAllTask();
43 |
44 | ///
45 | /// 终止任务
46 | ///
47 | void ShutDown();
48 | }
49 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/IRunner.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed95fa20b281e8640a154c48d1780c70
3 | timeCreated: 1656996361
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITask.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace ActionEditor
5 | {
6 | public interface ITask : IProcess, IEnumerator
7 | {
8 | TaskStatus Status { get; }
9 |
10 | ///
11 | /// 当前任务的信息
12 | ///
13 | string Info { get; }
14 |
15 | ///
16 | /// 错误信息
17 | ///
18 | string ErrorMsg { get; }
19 |
20 | ///
21 | /// 当前任务的进度
22 | ///
23 | float Progress { get; }
24 |
25 | ///
26 | /// 任务正在执行
27 | ///
28 | bool IsRunning { get; }
29 |
30 | ///
31 | /// 任务是否执行完成
32 | ///
33 | bool IsDone { get; }
34 |
35 |
36 | ///
37 | /// 停止任务
38 | ///
39 | void Stop();
40 |
41 | ///
42 | /// 任务开始回调
43 | ///
44 | ///
45 | ///
46 | ///
47 | ITask OnStarted(Action callback, bool cover = false);
48 |
49 | ///
50 | /// 任务执行回调
51 | ///
52 | ///
53 | ///
54 | ///
55 | ITask OnUpdated(Action callback, bool cover = false);
56 |
57 | ///
58 | /// 任务完成回调
59 | ///
60 | ///
61 | ///
62 | ///
63 | ITask OnCompleted(Action callback, bool cover = false);
64 |
65 | ///
66 | /// 运行任务
67 | ///
68 | /// 任务运行器
69 | void Run(IRunner runner);
70 |
71 | ///
72 | /// 任务参数
73 | ///
74 | ///
75 | object this[string argsName] { get; set; }
76 | }
77 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f025551734ce37a479414f55be095790
3 | timeCreated: 1656996448
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITaskCollection.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public interface ITaskCollection : ITask
6 | {
7 | ///
8 | /// 当前运行的任务堆栈
9 | ///
10 | List CurrentTask { get; }
11 |
12 | ///
13 | /// 添加一个任务
14 | ///
15 | ///
16 | ///
17 | ITaskCollection AddTask(ITask task);
18 |
19 | ///
20 | /// 清理任务列表
21 | ///
22 | void Clear();
23 | }
24 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITaskCollection.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ae6582e140d07049accaf0b5db4b2f4
3 | timeCreated: 1656996765
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITaskRun.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public interface ITaskRun
4 | {
5 | void Run(IRunner runner);
6 | }
7 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Interface/ITaskRun.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a3b784189f1caf1488eb81fb903ff63e
3 | timeCreated: 1656996836
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/NTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8035be535392c22489664156d78df1ef
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63bed6143f265e3449b00af0ef891a5a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/FlushingOperation.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | ///
4 | /// 操作信息类
5 | ///
6 | public class FlushingOperation
7 | {
8 | ///
9 | /// 是否暂停
10 | ///
11 | public bool Paused;
12 |
13 | ///
14 | /// 是否被终结
15 | ///
16 | public bool Kill;
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/FlushingOperation.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc64e5709b547264b90f53b13ee8aaa9
3 | timeCreated: 1657004343
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/Runner.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public class Runner : IRunner
6 | {
7 | public bool IsPaused
8 | {
9 | get => FlushingOperation.Paused;
10 | set => FlushingOperation.Paused = value;
11 | }
12 |
13 | public bool IsKilled => FlushingOperation.Kill;
14 | public int RunningTaskNum => Coroutines.Count;
15 | public int NeedRunTaskNum => ReadyTask.Count;
16 |
17 | ///
18 | /// 当前运行的任务
19 | ///
20 | protected readonly List Coroutines = new List();
21 |
22 | ///
23 | /// 准备要运行的任务
24 | ///
25 | protected readonly Queue ReadyTask = new Queue();
26 |
27 | ///
28 | /// 当前操作的信息
29 | ///
30 | protected readonly FlushingOperation FlushingOperation = new FlushingOperation();
31 |
32 | public virtual void Run(ITask task)
33 | {
34 | ReadyTask.Enqueue(task);
35 | }
36 |
37 | public virtual void Process()
38 | {
39 | var count = ReadyTask.Count;
40 | for (var i = 0; i < count; i++)
41 | {
42 | var task = ReadyTask.Dequeue();
43 | Coroutines.Add(task);
44 | }
45 |
46 | if (Coroutines.Count < 1) return;
47 |
48 | var index = 0;
49 | bool mustExit;
50 | do
51 | {
52 | var childTask = Coroutines[index];
53 | var st = childTask.Process();
54 | if (st >= TaskStatus.Success)
55 | {
56 | Coroutines.Remove(childTask);
57 | }
58 | else
59 | {
60 | index++;
61 | }
62 |
63 | mustExit = Coroutines.Count == 0 || index >= Coroutines.Count;
64 | } while (!mustExit);
65 | }
66 |
67 | public virtual void StopTask(ITask task)
68 | {
69 | var index = Coroutines.IndexOf(task);
70 | if (index != -1)
71 | {
72 | var t = Coroutines[index];
73 | t.Stop();
74 | Coroutines.RemoveAt(index);
75 | }
76 | }
77 |
78 | public virtual void StopAllTask()
79 | {
80 | ReadyTask.Clear();
81 | for (int i = 0; i < Coroutines.Count; i++)
82 | {
83 | Coroutines[i].Stop();
84 | }
85 |
86 | Coroutines.Clear();
87 | }
88 |
89 | public virtual void ShutDown()
90 | {
91 | IsPaused = false;
92 | FlushingOperation.Kill = true;
93 | StopAllTask();
94 | }
95 | }
96 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/Runner.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3bd5593733a84d74f83248aa0170da03
3 | timeCreated: 1657005250
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/RunnerProcess.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public class RunnerProcess : IProcess
6 | {
7 | ///
8 | /// 当前运行的任务
9 | ///
10 | protected readonly List Coroutines;
11 |
12 | ///
13 | /// 准备要运行的任务
14 | ///
15 | protected readonly Queue ReadyTask;
16 |
17 | ///
18 | /// 当前操作的信息
19 | ///
20 | protected readonly FlushingOperation FlushingOperation;
21 |
22 | ///
23 | /// 进程名称
24 | ///
25 | protected string Name;
26 |
27 | public RunnerProcess(string name, List coroutines, Queue readyTask, FlushingOperation op)
28 | {
29 | this.Name = name;
30 | Coroutines = coroutines;
31 | ReadyTask = readyTask;
32 | FlushingOperation = op;
33 | }
34 |
35 | public TaskStatus Process()
36 | {
37 | var flag = false;
38 | if (this.FlushingOperation.Kill) flag = true;
39 | else
40 | {
41 | for (var index = 0; index < this.ReadyTask.Count; index++)
42 | {
43 | // var task = ReadyTask[0];
44 | var task = ReadyTask.Dequeue();
45 | this.Coroutines.Add(task);
46 | // ReadyTask.RemoveAt(0);
47 | }
48 |
49 | if (this.Coroutines.Count == 0 || this.FlushingOperation.Paused)
50 | {
51 | flag = false;
52 | }
53 | else
54 | {
55 | var index = 0;
56 | var mustExit = false;
57 | do
58 | {
59 | var childTask = this.Coroutines[index];
60 | var st = childTask.Process();
61 | if (st >= TaskStatus.Success)
62 | {
63 | this.Coroutines.RemoveAt(index); //.splice(index, 1);
64 | }
65 | else
66 | {
67 | index++;
68 | }
69 |
70 | mustExit = this.Coroutines.Count == 0 || index >= this.Coroutines.Count;
71 | } while (!mustExit);
72 | }
73 | }
74 |
75 | return flag ? TaskStatus.Success : TaskStatus.Running;
76 | }
77 | }
78 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/Runner/RunnerProcess.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3647c1233c788034e91db438d16c23a5
3 | timeCreated: 1657004572
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/TaskStatus.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public enum TaskStatus
4 | {
5 | ///
6 | /// 任务还未执行
7 | ///
8 | None = 0,
9 |
10 | ///
11 | /// 任务运行
12 | ///
13 | Running,
14 |
15 | ///
16 | /// 任务执行成功
17 | ///
18 | Success,
19 |
20 | ///
21 | /// 任务执行失败
22 | ///
23 | Fail
24 | }
25 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/Core/Runtime/Task/TaskStatus.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8d69db579faa30f4db7ae1b2c27cb10f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/README.md:
--------------------------------------------------------------------------------
1 | # 说明
2 | NBC框架完整连接:https://github.com/NoBugCn/NBC
3 |
4 | NBC前端框架核心是为了演示Runtime下使用。如果只使用Editor编辑Asset资产,Runtime为自定义,则不需要NBC.Core的内容
--------------------------------------------------------------------------------
/Assets/RuntimeExample/NBC/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0743714d04319934599d064b63d623f2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/README.md:
--------------------------------------------------------------------------------
1 | # 说明
2 | 本目录是Runtime使用演示目录,如果只需要Editor编辑Asset资产,则无需关注本目录内容
3 |
4 | ## 为何Clip的编辑器预览和Runtime逻辑不共用
5 | 考虑到编辑器预览其实是初步预览,很多情况下,其实是和Runtime下还是存在一定差异。
6 |
7 | 然后Editor下可以很轻松实现上一帧,上N帧等任意帧播放。而Runtime下很难实现这点
8 | Editor下比如资源处理可以很简单粗暴来处理,Runtime下自己业务可能存在资源预加载等逻辑。
9 |
10 | 同时Editor下的预览和Runtime下的播放逻辑是可以自己抽象起来,共用一份代码,只有部分设计资源等内容分开即可。
11 |
12 | ## 为何不在Clip中直接写逻辑
13 |
14 | 在我设计中,时间轴编辑出来的是表现的配置,其内部只有一些表现逻辑,不存在具体业务的相关内容。
15 |
16 | 以技能为例,编辑出来的Clip只是技能的一部分,并不是技能的全部,分清楚主次关系很重要。
17 |
18 | 同时,如果我们在`PlayParticle`这个Clip中写一些runtime逻辑。比如实例化粒子或者播放粒子。
19 |
20 | 那么如果我们客户端希望要数据层和表现层是分离的。数据层只做数据判断处理,表现层只做表现。
21 |
22 | 那我们的clip存在逻辑,这就是典型的职责划分不清晰,不符合单一功能职责化的原则。
23 |
24 | 基于这种设计理念,我们就把ActionEditor编辑出来的Asset设定为单纯的是表现的配置,可以认为是配置表的一部分。
25 |
26 | 如此职责分明,虽然脚本数量会增加,但是后续维护成本却是很低的。也方便多人协作。
27 |
28 | 如果项目是比较重度的,一个人同时维护编辑器,表现层,数据层。那么是很困难的,分开也方便由不同人维护,同时出现问题,也更容易定位是那个部分有问题。
--------------------------------------------------------------------------------
/Assets/RuntimeExample/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1c492f0d7b504907b78cad7f24f08d9b
3 | timeCreated: 1691199114
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scene.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 36d33f132e667ac4781f73207601ec1d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scene/Example.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8158a5893e6e7ee4595f399bac5f06f0
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 627c2c084e0b2f74a8ab65b7a2497964
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/BattleRunner.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using ActionEditor;
4 |
5 | namespace ActionEditor
6 | {
7 | ///
8 | /// 战斗任务运行器
9 | ///
10 | public class BattleRunner : Runner
11 | {
12 | private static BattleRunner _updateRunner = new BattleRunner();
13 | public static BattleRunner Scheduler => _updateRunner;
14 |
15 | private readonly List _updateRoutines = new List();
16 |
17 | private static bool _pause;
18 |
19 | public event Action OnUpdate;
20 |
21 | ///
22 | /// 暂停运行器
23 | ///
24 | public static bool Pause
25 | {
26 | get => _pause;
27 | set => _pause = value;
28 | }
29 |
30 | public BattleRunner()
31 | {
32 | Log.I("BattleRunner-BattleRunner");
33 | MonoManager.Inst.OnUpdate += Update;
34 | StartCoroutine(new RunnerProcess("BattleRunner", Coroutines, ReadyTask, FlushingOperation));
35 | }
36 |
37 | private void StartCoroutine(IProcess process)
38 | {
39 | var routines = _updateRoutines;
40 | if (!routines.Contains(process))
41 | {
42 | routines.Add(process);
43 | }
44 | }
45 |
46 | private void Update()
47 | {
48 | if (Pause) return;
49 | ExecuteRoutines(_updateRoutines);
50 | OnUpdate?.Invoke();
51 | }
52 |
53 | private void ExecuteRoutines(List arr)
54 | {
55 | if (arr != null && arr.Count > 0)
56 | {
57 | for (var index = 0; index < arr.Count; index++)
58 | {
59 | var task = arr[index];
60 | var st = task.Process();
61 | if (st == TaskStatus.Success)
62 | {
63 | arr.RemoveAt(index);
64 | index--;
65 | }
66 | }
67 | }
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/BattleRunner.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8222a37191e2411b85d22a3f16f54e20
3 | timeCreated: 1691203405
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Config.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 219319c79e5042f096d7ef17dc2beb55
3 | timeCreated: 1691199744
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Config/SkillConfig.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | ///
8 | /// 技能配置,(模拟真实项目存在的技能数值配置)
9 | ///
10 | public class SkillConfig
11 | {
12 | public int Id;
13 |
14 | public int Atk;
15 | public int Def;
16 |
17 | ///
18 | /// 时间轴配置名
19 | ///
20 | public string EventName;
21 |
22 |
23 | private SkillAsset _skillAsset;
24 |
25 | public SkillAsset EventConfig
26 | {
27 | get
28 | {
29 | if (_skillAsset == null)
30 | {
31 | #if UNITY_EDITOR
32 | var textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath($"Assets/ResRaw/Skill/{EventName}.json");
33 | if (textAsset != null)
34 | {
35 | //_skillAsset = Json.Deserialize(typeof(SkillAsset), textAsset.text) as SkillAsset;
36 | }
37 | //演示直接使用editor的资源方法
38 | // _skillAsset =
39 | // UnityEditor.AssetDatabase.LoadAssetAtPath($"Assets/ResRaw/Skill/{EventName}.asset");
40 | #endif
41 | }
42 |
43 | return _skillAsset;
44 | }
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Config/SkillConfig.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: affbf6409a5f4ed2a6a0ffe5fa10465f
3 | timeCreated: 1691199749
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Init.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using ActionEditor;
4 | using UnityEngine;
5 |
6 | public class Init : MonoBehaviour
7 | {
8 | void Start()
9 | {
10 | //添加个模拟配置
11 | SkillConfig skillConfig = new SkillConfig
12 | {
13 | Id = 66,
14 | Atk = 666,
15 | Def = 88,
16 | EventName = "1001"
17 | };
18 |
19 | //添加个模拟技能
20 | SkillPlayAttack skill = new SkillPlayAttack
21 | {
22 | SkillConfig = skillConfig
23 | };
24 |
25 | var skeleton = GameObject.Find("Skeleton");
26 | var hero = skeleton.AddComponent(); //演示的role脚本直接继承MonoManager,减小代码量
27 | hero.AddSkill(skill);
28 |
29 | //释放技能
30 | hero.UseSkill(66);
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Init.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c0a3149c9e01ad4ebf850dd9634c13c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d36bf68503874d50be217c9b29cba734
3 | timeCreated: 1691199817
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/HeroPlayer.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public class HeroPlayer : RoleBase
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/HeroPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 95f6e51062af48f5acc6db1a19c04609
3 | timeCreated: 1691199872
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/MonsterPlayer.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public class MonsterPlayer : RoleBase
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/MonsterPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 734d6e247d84428c8232aed2de0488a0
3 | timeCreated: 1691199850
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/RoleBase.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace ActionEditor
4 | {
5 | public abstract class RoleBase : MonoManager
6 | {
7 | private readonly Dictionary _skills = new Dictionary();
8 |
9 | public void AddSkill(ISkillPlay skillPlay)
10 | {
11 | skillPlay.Player = this;
12 | _skills[skillPlay.SkillConfig.Id] = skillPlay;
13 | }
14 |
15 | public void UseSkill(int id)
16 | {
17 | if (_skills.TryGetValue(id, out var skillPlay))
18 | {
19 | skillPlay.Start();
20 | }
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Plyaer/RoleBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6269191501e54e5fb6f76f03c24faeb1
3 | timeCreated: 1691199822
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8575b90a807d4b2f83381446ee79dcf8
3 | timeCreated: 1691199463
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cabceb88bf6d4e30a38c78eedd0586fe
3 | timeCreated: 1691199476
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/AV.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ba7205a43e7c4955a284d8453f925e76
3 | timeCreated: 1691200032
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/AV/PlayAnimationClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class PlayAnimationClipTask : SkillClipBase
6 | {
7 | private PlayAnimation PlayAnimation => ActionClip as PlayAnimation;
8 |
9 | protected override void Begin()
10 | {
11 | //这里执行粒子播放逻辑
12 | Debug.Log($"播放一个粒子:{PlayAnimation.resPath}");
13 | }
14 |
15 | protected override void End()
16 | {
17 | //执行粒子回收逻辑
18 | Debug.Log($"播放粒子结束:{PlayAnimation.resPath}");
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/AV/PlayAnimationClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 06b74d94df454511a4d1a8e3a3a944eb
3 | timeCreated: 1691200315
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/AV/PlayAudioClipTask.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public class PlayAudioClipTask : SkillClipBase
4 | {
5 | private PlayAudio PlayAudio => ActionClip as PlayAudio;
6 |
7 | protected override void Begin()
8 | {
9 | //调用自己播放音频的接口
10 | Log.I($"开始播放一个声音,");
11 | }
12 |
13 | protected override void End()
14 | {
15 | Log.I("播放一个声音结束");
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/AV/PlayAudioClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 720b7fc3b6c84deaad394f6e4192b088
3 | timeCreated: 1691200075
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb97997520cd9ea40ac98e3bcff30c75
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerEventClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class TriggerEventClipTask : SkillClipBase
6 | {
7 | private TriggerEvent TriggerEvent => ActionClip as TriggerEvent;
8 |
9 | protected override void Begin()
10 | {
11 | //可以在这里调用消息机制,派发消息事件
12 | Debug.Log($"触发一个事件,eventName:{TriggerEvent.eventName}");
13 | }
14 |
15 | protected override void End()
16 | {
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerEventClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 410b4822b3d94823bd85507e91b3aa1e
3 | timeCreated: 1691201557
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerLogClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class TriggerLogClipTask : SkillClipBase
6 | {
7 | private TriggerLog TriggerLog => ActionClip as TriggerLog;
8 |
9 | protected override void Begin()
10 | {
11 | Debug.Log($"TriggerLog:{TriggerLog.log}");
12 | }
13 |
14 | protected override void End()
15 | {
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerLogClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7ab1f0fc84204949b703bdad4bd16fd6
3 | timeCreated: 1691201527
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerShakeClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class TriggerShakeClipTask : SkillClipBase
6 | {
7 | private TriggerShake TriggerShake => ActionClip as TriggerShake;
8 |
9 | protected override void Begin()
10 | {
11 | //调用自己项目震动逻辑
12 | Debug.Log("播放震动逻辑");
13 | }
14 |
15 | protected override void End()
16 | {
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Events/TriggerShakeClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3a1ed01a1b8948709c6bbf1ee5807a14
3 | timeCreated: 1691201805
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Particles.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 13fcf1646e6647d28f65fc4d23224a82
3 | timeCreated: 1691200053
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Particles/PlayParticleClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class PlayParticleClipTask : SkillClipBase
6 | {
7 | protected override void Begin()
8 | {
9 | //播放粒子
10 | Debug.Log("开始播放粒子===");
11 | }
12 |
13 | protected override void End()
14 | {
15 | //回收粒子
16 | Debug.Log("粒子播放完毕===");
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Particles/PlayParticleClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 83fe2699858c4a7a894114d1db302aa4
3 | timeCreated: 1691200430
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/SkillClipBase.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | public abstract class SkillClipBase : NTask
6 | {
7 | ///
8 | /// 时间进度
9 | ///
10 | private float _processTime = 0;
11 |
12 |
13 | ///
14 | /// 时长
15 | ///
16 | private float _totalTime = 0;
17 |
18 | private float _time = 0;
19 |
20 |
21 | ///
22 | /// 时长
23 | ///
24 | public float Time
25 | {
26 | get => _time;
27 | set
28 | {
29 | _time = value;
30 | _argsDic["time"] = value;
31 | }
32 | }
33 |
34 | public float TotalTime
35 | {
36 | get => _totalTime;
37 | set => _totalTime = value;
38 | }
39 |
40 | public override float Progress => _processTime / _totalTime;
41 | public override bool IsRunning => _processTime < _totalTime;
42 |
43 | protected SkillConfig SkillConfig;
44 |
45 | //owen
46 | protected RoleBase Player;
47 |
48 |
49 | protected Clip ActionClip;
50 |
51 | public void SetActionClip(Clip actionClip)
52 | {
53 | ActionClip = actionClip;
54 | }
55 |
56 | public void SetSkill(SkillConfig skillConfig)
57 | {
58 | SkillConfig = skillConfig;
59 | }
60 |
61 | public void SetPlayer(RoleBase player)
62 | {
63 | Player = player;
64 | }
65 |
66 | protected override void OnStart()
67 | {
68 | _processTime = 0;
69 | Begin();
70 | }
71 |
72 | protected override TaskStatus OnProcess()
73 | {
74 | _processTime += UnityEngine.Time.deltaTime;
75 | Tick();
76 |
77 | if (_processTime >= _totalTime)
78 | {
79 | End();
80 | return TaskStatus.Success;
81 | }
82 |
83 | return TaskStatus.Running;
84 | }
85 |
86 | protected abstract void Begin();
87 | protected abstract void End();
88 |
89 | protected virtual void Tick()
90 | {
91 | }
92 | }
93 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/SkillClipBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 80d6ebd9612e47c8b9493bb8d4525f8d
3 | timeCreated: 1691199578
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/SkillDirector.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | public static class SkillDirector
6 | {
7 | public static SkillClipBase GetClip(Clip clip)
8 | {
9 | SkillClipBase classInst = null;
10 | //这里用穷举方式来做。当然大家如果不用脚本剔除,也可以用反射来做
11 | if (clip is PlayAudio)
12 | {
13 | classInst = new PlayAudioClipTask();
14 | }
15 | else if (clip is PlayAnimation)
16 | {
17 | classInst = new PlayAnimationClipTask();
18 | }
19 | else if (clip is PlayParticle)
20 | {
21 | classInst = new PlayParticleClipTask();
22 | }
23 | else if (clip is MoveBy)
24 | {
25 | classInst = new MoveByClipTask();
26 | }
27 | else if (clip is MoveTo)
28 | {
29 | classInst = new MoveToClipTask();
30 | }
31 | else if (clip is RotateTo)
32 | {
33 | classInst = new RotateToClipTask();
34 | }
35 | else if (clip is ScaleTo)
36 | {
37 | classInst = new ScaleToClipTask();
38 | }
39 | else if (clip is VisibleTo)
40 | {
41 | classInst = new VisibleToClipTask();
42 | }
43 | else if (clip is TriggerLog)
44 | {
45 | classInst = new TriggerLogClipTask();
46 | }
47 | else if (clip is TriggerEvent)
48 | {
49 | classInst = new TriggerEventClipTask();
50 | }
51 | else if (clip is TriggerShake)
52 | {
53 | classInst = new TriggerShakeClipTask();
54 | }
55 |
56 | if (classInst != null)
57 | {
58 | classInst.Time = clip.StartTime;
59 | classInst.TotalTime = clip.Length;
60 | classInst.SetActionClip(clip);
61 | }
62 |
63 | return classInst;
64 | }
65 | }
66 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/SkillDirector.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0096cff1c27444dea8681fa9663f928a
3 | timeCreated: 1691199558
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0683649ab41f4a8daca7679b31f07cb5
3 | timeCreated: 1691200060
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/MoveByClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class MoveByClipTask : SkillClipBase
6 | {
7 | protected override void Begin()
8 | {
9 | Debug.Log("播放 MoveByClipTask");
10 | }
11 |
12 | protected override void End()
13 | {
14 |
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/MoveByClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6408b52655e64c04a7eff3365721c2db
3 | timeCreated: 1691200527
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/MoveToClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class MoveToClipTask : SkillClipBase
6 | {
7 | protected override void Begin()
8 | {
9 | Debug.Log("播放 MoveToClipTask");
10 | }
11 |
12 | protected override void End()
13 | {
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/MoveToClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c63afa6a7be5498a8163a41c142978fd
3 | timeCreated: 1691202544
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/RotateToClipTask.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | public class RotateToClipTask : SkillClipBase
7 | {
8 |
9 | protected override void Begin()
10 | {
11 | Debug.Log("播放 RotateToClipTask");
12 | }
13 |
14 | protected override void End()
15 | {
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/RotateToClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6f72c72b0214a4ea9ea054511cf2718
3 | timeCreated: 1691202730
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/ScaleToClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class ScaleToClipTask : SkillClipBase
6 | {
7 | protected override void Begin()
8 | {
9 | Debug.Log("播放 ScaleToClipTask");
10 | }
11 |
12 | protected override void End()
13 | {
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/ScaleToClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c3765a94edd04afe8464ee098f1a6e69
3 | timeCreated: 1691202789
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/VisibleToClipTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class VisibleToClipTask : SkillClipBase
6 | {
7 | protected override void Begin()
8 | {
9 | Debug.Log("播放 VisibleToClipTask");
10 | }
11 |
12 | protected override void End()
13 | {
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/Director/Transforms/VisibleToClipTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34737099af2342e59c68acf01014194e
3 | timeCreated: 1691202517
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/ISkillPlay.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditor
2 | {
3 | public interface ISkillPlay
4 | {
5 | //如果要数据和表现层分离
6 | // ISkill SkillData { get; }
7 | // void SetSkillData(ISkill skillData);
8 |
9 | SkillConfig SkillConfig { get; set; }
10 |
11 | RoleBase Player { get; set; }
12 |
13 | void Start();
14 | void Stop();
15 | }
16 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/ISkillPlay.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 619f957ff0674d3cade474a93537edc2
3 | timeCreated: 1691199501
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/SkillPlayAttack.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using ActionEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | public class SkillPlayAttack : ISkillPlay
8 | {
9 | private TimelineTaskCollection _timelineEvents;
10 | private ParallelTaskCollection _sequence;
11 |
12 | public SkillConfig SkillConfig { get; set; }
13 | public RoleBase Player { get; set; }
14 |
15 | public void Start()
16 | {
17 | _sequence = new ParallelTaskCollection();
18 | _timelineEvents = GetTimelineTask(SkillConfig.EventConfig);
19 |
20 | //在播放时间轴前可以做一些前置动作。比如播放施法前摇时间轴或者一些其他逻辑
21 | _sequence.AddTask(new RunFunTask(() => { Debug.Log("技能开始前置逻辑"); }));
22 | _sequence.AddTask(new TimeStopTask(1f)); //测试,在博时间轴前等待1s
23 | _sequence.AddTask(new RunFunTask(() => { Debug.Log("技能时间轴开始播放"); }));
24 | _sequence.AddTask(_timelineEvents);
25 | _sequence.OnCompleted((_) => { Stop(); });
26 | _sequence.Run(BattleRunner.Scheduler);
27 | }
28 |
29 |
30 | private TimelineTaskCollection GetTimelineTask(SkillAsset skillAsset)
31 | {
32 | var events = new TimelineTaskCollection();
33 | if (skillAsset != null)
34 | {
35 | List list = new List();
36 | foreach (var group in skillAsset.groups)
37 | {
38 | foreach (var track in group.Tracks)
39 | {
40 | list.AddRange(track.Clips);
41 | }
42 | }
43 |
44 | foreach (var clip in list)
45 | {
46 | var t = SkillDirector.GetClip(clip);
47 | if (t == null) continue;
48 | t.SetPlayer(Player);
49 | t.SetSkill(SkillConfig);
50 | events.AddTask(t);
51 | }
52 | }
53 | else
54 | {
55 | Log.E($"技能事件行为配置为空,skillId={SkillConfig.Id}");
56 | }
57 |
58 | return events;
59 | }
60 |
61 | public void Stop()
62 | {
63 | Log.I($"技能表现播放完毕");
64 | }
65 | }
66 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Skill/SkillPlayAttack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b1006735ac646f3bd3a9d2912e2a400
3 | timeCreated: 1691203223
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8508279aee8c481c9b6ca1502f8d0fa6
3 | timeCreated: 1691204183
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/LogTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class LogTask : NTask
6 | {
7 | private string _info;
8 |
9 | public LogTask(string info)
10 | {
11 | _info = info;
12 | }
13 |
14 | protected override void OnStart()
15 | {
16 | Debug.Log(_info);
17 | Finish();
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/LogTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9075e7b56b6b4606886f2a9ac137ed79
3 | timeCreated: 1691204116
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/RunFunTask.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace ActionEditor
4 | {
5 | public class RunFunTask : NTask
6 | {
7 | private readonly Action _action;
8 |
9 | public RunFunTask(Action action)
10 | {
11 | _action = action;
12 | }
13 |
14 | protected override void OnStart()
15 | {
16 | _action?.Invoke();
17 |
18 | Finish();
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/RunFunTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8468da0a93114c109f53b9d284d2007a
3 | timeCreated: 1691204197
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/TimeStopTask.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditor
4 | {
5 | public class TimeStopTask : NTask
6 | {
7 | public float ProcessTime = 0;
8 | public readonly float EndTime = 0;
9 |
10 | public TimeStopTask(float time)
11 | {
12 | EndTime = time;
13 | ProcessTime = 0;
14 | }
15 |
16 | public override void Reset()
17 | {
18 | ProcessTime = 0;
19 | }
20 |
21 | public override void Stop()
22 | {
23 | ProcessTime = EndTime;
24 | }
25 |
26 | protected override TaskStatus OnProcess()
27 | {
28 | this.ProcessTime += Time.deltaTime;
29 | return this.ProcessTime >= this.EndTime ? TaskStatus.Success : TaskStatus.Running;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/RuntimeExample/Scripts/Tasks/TimeStopTask.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a290b7925ac14c72823d4f701b21a9af
3 | timeCreated: 1691204229
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c53962885c2c4f449125a979d6ad240
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99c9720ab356a0642a771bea13969a05
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scenes/VFX_LS018 1.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/Assets/Scenes/VFX_LS018 1.tga
--------------------------------------------------------------------------------
/Assets/Scenes/test.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fc9e62be93cb0e468144df800accecf
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24c24633cff5c6041a127f5c22d5b5c5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 132590b0738d24c4ebbf9ea9d59f563c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ba3b2381a29b46d2b06ff8400a772727
3 | timeCreated: 1684029758
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5593098a6d6141bea1a978f1bc8a00e2
3 | timeCreated: 1684577287
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d0218691e4247e4dbd326faecfe0151
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/MoveByPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditorExample
5 | {
6 | ///
7 | /// 移动至预览
8 | ///
9 | [CustomPreview(typeof(MoveBy))]
10 | public class MoveByPreview : PreviewBase
11 | {
12 | private Vector3 originalPos;
13 |
14 |
15 | public override void Update(float time, float previousTime)
16 | {
17 | var target = originalPos + clip.move;
18 | ModelSampler.EditModel.transform.position =
19 | Easing.Ease(clip.interpolation, originalPos, target, time / clip.Length);
20 |
21 |
22 | }
23 |
24 | public override void Enter()
25 | {
26 | if (ModelSampler.EditModel != null)
27 | {
28 | originalPos = ModelSampler.EditModel.transform.position;
29 | }
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/MoveByPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ae0f7f5ff154f418255e18dfc5dacb1
3 | timeCreated: 1684583160
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/MoveToPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditorExample
5 | {
6 | ///
7 | /// 移动至预览
8 | ///
9 | [CustomPreview(typeof(MoveTo))]
10 | public class MoveToPreview : PreviewBase
11 | {
12 | private Vector3 originalPos;
13 |
14 | public override void Update(float time, float previousTime)
15 | {
16 | var endPos = TargetPosition();
17 |
18 | var interpolateAmount = time / clip.Length;
19 |
20 | ModelSampler.EditModel.transform.position =
21 | Easing.Ease(clip.interpolation, originalPos, endPos, interpolateAmount);
22 | }
23 |
24 |
25 | public override void Enter()
26 | {
27 | if (ModelSampler.EditModel != null)
28 | {
29 | originalPos = ModelSampler.EditModel.transform.position;
30 | }
31 | }
32 |
33 | private Vector3 TargetPosition()
34 | {
35 | Vector3 endPos = ModelSampler.DefPosition;
36 | switch (clip.moveType)
37 | {
38 | case MoveToType.Target:
39 | //这里直接到目标点位。实际业务请根据自己业务情况计算碰撞盒子和半径等内容
40 | endPos = ModelSampler.TargetModel.transform.position;
41 | break;
42 | case MoveToType.OriginalPosition:
43 | endPos = ModelSampler.DefPosition;
44 | break;
45 | }
46 |
47 | return endPos;
48 | }
49 | }
50 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/MoveToPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 939a90e5fd89491dbcf9c138d7c80369
3 | timeCreated: 1684583267
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayAnimationPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor.Animations;
3 | using UnityEngine;
4 |
5 | namespace ActionEditorExample
6 | {
7 | ///
8 | /// 动画预览
9 | ///
10 | [CustomPreview(typeof(PlayAnimation))]
11 | public class PlayAnimationPreview : PreviewBase
12 | {
13 | private Animator _animator;
14 | private AnimationClip _animationClip;
15 |
16 | public override void Update(float time, float previousTime)
17 | {
18 | if (_animator != null && _animationClip != null)
19 | {
20 | Preview(_animationClip, _animator.gameObject, time);
21 | }
22 | }
23 |
24 | public override void Enter()
25 | {
26 | var model = ModelSampler.EditModel;
27 | if (model != null)
28 | {
29 | _animator = model.GetComponent();
30 | }
31 |
32 | if (_animator != null)
33 | {
34 | var audioClipName = string.Empty;
35 | if (clip.animationClip != null)
36 | {
37 | audioClipName = clip.animationClip.name;
38 | }
39 |
40 | if (_animator.runtimeAnimatorController is AnimatorController
41 | animatorController)
42 | {
43 | var layer = animatorController.layers[0];
44 | var states = layer.stateMachine.states;
45 | foreach (var child in states)
46 | {
47 | if (child.state.name == audioClipName)
48 | {
49 | if (child.state.motion is AnimationClip c)
50 | {
51 | _animationClip = c;
52 | }
53 | }
54 | }
55 | }
56 | }
57 | }
58 |
59 | ///
60 | /// 这里直接采样播放,如果项目需要,请自行通过AnimationMixerPlayable来扩展动画融合播放
61 | ///
62 | ///
63 | ///
64 | ///
65 | public void Preview(AnimationClip animationClip, GameObject gameObject, float currentTime)
66 | {
67 | animationClip.SampleAnimation(gameObject, currentTime);
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayAnimationPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad4f1e87aaa0474a9db9592548df1b28
3 | timeCreated: 1684583912
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayAudioPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditorExample
5 | {
6 | ///
7 | /// 音频预览
8 | ///
9 | [CustomPreview(typeof(PlayAudio))]
10 | public class PlayAudioPreview : PreviewBase
11 | {
12 | private AudioSource source;
13 |
14 | public override void Update(float time, float previousTime)
15 | {
16 | if (source != null)
17 | {
18 | AudioSampler.Sample(source, clip.audioClip, time - clip.clipOffset, previousTime - clip.clipOffset,
19 | clip.volume);
20 | }
21 | }
22 |
23 | public override void Enter()
24 | {
25 | Do();
26 | }
27 |
28 | public override void ReverseEnter()
29 | {
30 | Do();
31 | }
32 |
33 | public override void Exit()
34 | {
35 | Undo();
36 | }
37 |
38 | public override void Reverse()
39 | {
40 | Undo();
41 | }
42 |
43 | void Do()
44 | {
45 | if (source == null)
46 | {
47 | source = AudioSampler.GetSource();
48 | }
49 |
50 | if (source != null)
51 | {
52 | source.clip = clip.audioClip;
53 | }
54 | }
55 |
56 | void Undo()
57 | {
58 | if (source != null)
59 | {
60 | source.clip = null;
61 | AudioSampler.RetureSource(source);
62 | }
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayAudioPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7244d6a475b5468babc8ae058d523ff1
3 | timeCreated: 1684577376
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayParticlePreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditorExample
6 | {
7 | ///
8 | /// 普通粒子预览
9 | ///
10 | [ActionEditor.CustomPreview(typeof(PlayParticle))]
11 | public class PlayParticlePreview : PreviewBase
12 | {
13 | private GameObject _effectObj;
14 | public ParticleSystem particles;
15 | private ParticleSystem.EmissionModule em;
16 |
17 | public override void Update(float time, float previousTime)
18 | {
19 | if (_effectObj == null)
20 | {
21 | return;
22 | }
23 |
24 | if (_effectObj != null && !_effectObj.activeSelf)
25 | {
26 | _effectObj.SetActive(true);
27 | }
28 |
29 | UpdateParticle(time);
30 | }
31 |
32 | private void UpdateParticle(float time)
33 | {
34 | if (!Application.isPlaying)
35 | {
36 | if (particles != null)
37 | {
38 | em.enabled = time < clip.Length;
39 | particles.Simulate(time);
40 | }
41 | }
42 | }
43 |
44 | public override void Enter()
45 | {
46 | if (_effectObj == null)
47 | {
48 | //创建特效。
49 | //实际业务建议自行编写特效对象池
50 | CreateEffect();
51 | }
52 |
53 | Play(_effectObj);
54 | }
55 |
56 | public override void Exit()
57 | {
58 | if (_effectObj != null)
59 | {
60 | _effectObj.gameObject.SetActive(false);
61 | }
62 | }
63 |
64 | protected void Play(GameObject effectObj)
65 | {
66 | if (particles == null)
67 | {
68 | particles = effectObj.GetComponentInChildren();
69 | }
70 |
71 | if (!particles.isPlaying && particles.useAutoRandomSeed)
72 | {
73 | particles.useAutoRandomSeed = false;
74 | }
75 |
76 | em = particles.emission;
77 | em.enabled = true;
78 | particles.Play();
79 | }
80 |
81 |
82 | private void CreateEffect()
83 | {
84 | var obj = AssetDatabase.LoadAssetAtPath(clip.resPath);
85 | if (obj != null)
86 | {
87 | _effectObj = Object.Instantiate(obj);
88 | _effectObj.transform.position = Vector3.zero;
89 | //演示代码只演示原地播放,挂点播放等需要自行编写挂点相关脚本和设置挂点
90 | }
91 | }
92 | }
93 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/PlayParticlePreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ada502a20b4449948951a3fe404dacef
3 | timeCreated: 1684588929
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/RotateToPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditorExample
5 | {
6 | ///
7 | /// 旋转角度预览
8 | ///
9 | [CustomPreview(typeof(RotateTo))]
10 | public class RotateToPreview : PreviewBase
11 | {
12 | private Vector3 originalRot;
13 |
14 | public override void Update(float time, float previousTime)
15 | {
16 | var target = originalRot + clip.targetRotation;
17 | ModelSampler.EditModel.transform.localEulerAngles =
18 | Easing.Ease(clip.interpolation, originalRot, target, time / clip.Length);
19 | }
20 |
21 | public override void Enter()
22 | {
23 | if (ModelSampler.EditModel != null)
24 | {
25 | originalRot = ModelSampler.EditModel.transform.localEulerAngles;
26 | }
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/RotateToPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: efb1c257e1a94671bb4a687e8e970f9e
3 | timeCreated: 1684583083
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/VisibleToPreview.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditorExample
4 | {
5 | ///
6 | /// VisibleTo预览
7 | ///
8 | [CustomPreview(typeof(VisibleTo))]
9 | public class VisibleToPreview : PreviewBase
10 | {
11 | public override void Update(float time, float previousTime)
12 | {
13 | if (ModelSampler.EditModel != null)
14 | {
15 | ModelSampler.EditModel.SetActive(clip.visible);
16 | }
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Clips/VisibleToPreview.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2f40aaa96ec407cb024cfafba9961b6
3 | timeCreated: 1684581398
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4c3f51279bbf49bb851534a030fdc9c5
3 | timeCreated: 1684577702
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/AnimationSampler.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditorExample
2 | {
3 | ///
4 | /// 动画采样器
5 | ///
6 | public static class AnimationSampler
7 | {
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/AnimationSampler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b8a28a47abb243e6837735c9258524e6
3 | timeCreated: 1684577852
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/AudioSampler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4ac62c9ddd14c749884cb97643caab7
3 | timeCreated: 1684577710
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/ModelSampler.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace ActionEditorExample
4 | {
5 | public static class ModelSampler
6 | {
7 | ///
8 | /// 演示代码,默认00点。实际业务请接入自己业务的逻辑
9 | ///
10 | public static Vector3 DefPosition => Vector3.zero;
11 |
12 | private static GameObject _editModel;
13 |
14 | public static GameObject EditModel
15 | {
16 | get
17 | {
18 | //test code
19 | //测试代码,请根据自己业务编写相关逻辑
20 | if (_editModel == null)
21 | {
22 | _editModel = GameObject.Find("Player");
23 | }
24 |
25 | return _editModel;
26 | }
27 | }
28 |
29 |
30 | private static GameObject targetModel;
31 |
32 | public static GameObject TargetModel
33 | {
34 | get
35 | {
36 | //test code
37 | //测试代码,请根据自己业务编写相关逻辑
38 | if (targetModel == null)
39 | {
40 | targetModel = GameObject.Find("Target");
41 | }
42 |
43 | return targetModel;
44 | }
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/ModelSampler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 84c6b5887604417fbbdeb0e35a1446ee
3 | timeCreated: 1684581422
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/ParticleSampler.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditorExample
6 | {
7 | public class ParticlePool
8 | {
9 |
10 | }
11 |
12 |
13 | ///
14 | /// 粒子特效采样器
15 | ///
16 | [InitializeOnLoad]
17 | public class ParticleSampler
18 | {
19 | public static void Init()
20 | {
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/ParticleSampler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 248f8cbb3a7d455ebf6da2da8475cb4d
3 | timeCreated: 1684577902
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/SpineSampler.cs:
--------------------------------------------------------------------------------
1 | namespace ActionEditorExample
2 | {
3 | ///
4 | /// spine 采样器
5 | ///
6 | public static class SpineSampler
7 | {
8 | }
9 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Editor/Preview/Sampler/SpineSampler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f76116067c234d809f838c922db45163
3 | timeCreated: 1684577879
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 29e45032d2504acea782c7a9d44c788a
3 | timeCreated: 1684029745
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/BuffAsset.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("技能Buff")]
7 | [Serializable]
8 | public class BuffAsset : Asset
9 | {
10 | [Name("测试")]
11 | public string test;
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/BuffAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f69b35b0d5df43508ff85470a08436d8
3 | timeCreated: 1682259779
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0a0a37e1144b76f46a4cc41877e17b65
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6354325f93c47db4ab6bb0da3ac108fc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Animation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6bc8ee9e45784ea1a03132e73fb4c362
3 | timeCreated: 1684552011
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Animation/PlayAnimation.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | [Name("动画片段")]
8 | [Color(0.48f, 0.71f, 0.84f)]
9 | [Attachable(typeof(AnimationTrack))]
10 | public class PlayAnimation : Clip, ILengthMatchAble,IBlendAble,IResizeAble
11 | {
12 | [SerializeField][HideInInspector] private float blendIn = 0.25f;
13 | [SerializeField][HideInInspector] private float blendOut = 0.25f;
14 |
15 | [Name("播放音频")]
16 | [ObjectPath(typeof(AnimationClip))]
17 | public string resPath = "";
18 |
19 | private AnimationClip _animationClip;
20 |
21 | public AnimationClip animationClip
22 | {
23 | get
24 | {
25 | if (string.IsNullOrEmpty(resPath))
26 | {
27 | _animationClip = null;
28 | return null;
29 | }
30 |
31 | if (_animationClip == null)
32 | {
33 | #if UNITY_EDITOR
34 | _animationClip = AssetDatabase.LoadAssetAtPath(resPath);
35 | #endif
36 | }
37 |
38 | return _animationClip;
39 | }
40 | }
41 |
42 | [Range(0.1f, 10f)][Name("播放速度")] public float playbackSpeed = 1;
43 | [Name("偏移量")] public float clipOffset;
44 |
45 |
46 | public override float Length
47 | {
48 | get => length;
49 | set => length = value;
50 | }
51 |
52 | public float BlendIn
53 | {
54 | get => blendIn;
55 | set => blendIn = value;
56 | }
57 |
58 | public float BlendOut
59 | {
60 | get => blendOut;
61 | set { blendOut = value; }
62 |
63 | }
64 | public bool CanCrossBlend => true;
65 |
66 |
67 |
68 | float ILengthMatchAble.MatchAbleLength => animationClip != null ? animationClip.length : 0;
69 |
70 |
71 | public override bool IsValid => animationClip != null;
72 |
73 | //public override string Info => IsValid ? animationClip.name : base.Info;
74 |
75 | public AudioTrack Track => (AudioTrack)Parent;
76 | }
77 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Animation/PlayAnimation.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55f287254a274055ab76bb9e49c2930d
3 | timeCreated: 1684552018
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Audio.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a272c0626ce84f7a9d925bd8d02c2753
3 | timeCreated: 1683875430
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Audio/PlayAudio.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | #if UNITY_EDITOR
3 | using UnityEditor;
4 | #endif
5 | using UnityEngine;
6 |
7 | namespace ActionEditor
8 | {
9 | [Name("声音片段")]
10 | [Color(1f, 0.63f, 0f)]
11 | [Attachable(typeof(AudioTrack))]
12 | public class PlayAudio : Clip, ILengthMatchAble, IBlendAble
13 | {
14 | [SerializeField][HideInInspector] private float blendIn = 0.25f;
15 | [SerializeField][HideInInspector] private float blendOut = 0.25f;
16 |
17 | [Name("播放音频")]
18 | [ObjectPath(typeof(AudioClip))]
19 | public string resPath = "";
20 |
21 | private AudioClip _audioClip;
22 |
23 | public AudioClip audioClip
24 | {
25 | get
26 | {
27 | if (string.IsNullOrEmpty(resPath))
28 | {
29 | _audioClip = null;
30 | return null;
31 | }
32 |
33 | if (_audioClip == null)
34 | {
35 | #if UNITY_EDITOR
36 | _audioClip = AssetDatabase.LoadAssetAtPath(resPath);
37 | #endif
38 | }
39 |
40 | return _audioClip;
41 | }
42 | }
43 |
44 | [Range(0f, 1f)][Name("音量")] public float volume = 1;
45 | [Name("偏移量")] public float clipOffset;
46 |
47 |
48 | public override float Length
49 | {
50 | get => length;
51 | set => length = value;
52 | }
53 |
54 | public float BlendIn
55 | {
56 | get => blendIn;
57 | set => blendIn = value;
58 | }
59 |
60 | public float BlendOut
61 | {
62 | get => blendOut;
63 | set => blendOut = value;
64 | }
65 |
66 |
67 |
68 |
69 | float ILengthMatchAble.MatchAbleLength => audioClip != null ? audioClip.length : 0;
70 |
71 |
72 | public override bool IsValid => audioClip != null;
73 |
74 | //public override string Info => IsValid ? audioClip.name : base.Info;
75 |
76 | public AudioTrack Track => (AudioTrack)Parent;
77 |
78 | public bool CanCrossBlend => true;
79 |
80 | // #if UNITY_EDITOR
81 | // protected override void OnClipGUI(Rect rect)
82 | // {
83 | // DrawTools.DrawLoopedAudioTexture(rect, audioClip, Length, clipOffset);
84 | // }
85 | // #endif
86 | }
87 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Audio/PlayAudio.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24727a20b72b0aa4884c2a267723e5df
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Effect.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f28e3a76fe094cdfa13abaa7b80deadd
3 | timeCreated: 1683876582
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Effect/PlayParticle.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR
2 | using UnityEditor;
3 | #endif
4 | using UnityEngine;
5 |
6 | namespace ActionEditor
7 | {
8 | [Name("普通粒子片段")]
9 | [Color(0.0f, 1f, 1f)]
10 | [Attachable(typeof(EffectTrack))]
11 | public class PlayParticle : Clip
12 | {
13 | [Space(20)]
14 | [HeaderAttribute("hhhh")]
15 | [NotNull]
16 | [Name("特效对象")]
17 | [ObjectPath(typeof(GameObject))]
18 | public string resPath = "";
19 |
20 | [Name("是否变形")] public bool scale;
21 |
22 | [TextArea(1,4)]
23 | public string test;
24 |
25 | private GameObject _effectObject;
26 |
27 | private GameObject audioClip
28 | {
29 | get
30 | {
31 | if (_effectObject == null)
32 | {
33 | #if UNITY_EDITOR
34 | _effectObject = AssetDatabase.LoadAssetAtPath(resPath);
35 | #endif
36 | }
37 |
38 | return _effectObject;
39 | }
40 | }
41 |
42 |
43 | public override float Length
44 | {
45 | get => length;
46 | set => length = value;
47 | }
48 |
49 | public override bool IsValid => audioClip != null;
50 |
51 |
52 | }
53 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Effect/PlayParticle.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a8bf4d6ab9cd406894fd8930012dadc6
3 | timeCreated: 1683876592
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cddbe27980f741e2a683be187f1e3d87
3 | timeCreated: 1683873827
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerEvent.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | [Name("触发事件")]
6 | [Color(1, 0, 0)]
7 | [Attachable(typeof(SignalTrack))]
8 | public class TriggerEvent : ClipSignal
9 | {
10 | [Name("事件名称")]
11 | public int eventName;
12 |
13 | [Name("结算方式")]
14 | public int calculateType = 0;
15 |
16 | [Name("拆开份数")]
17 | public int calculateArgs = 0;
18 |
19 | [Name("必杀概率")]
20 | public int kill;
21 |
22 | //public override string Info => "事件\n" + AttributesUtility.GetName(eventName, typeof(EventNames));
23 | public override bool IsValid => eventName > 0;
24 | }
25 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerEvent.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 154d3633e4d442e59b4cc7751d8f6c64
3 | timeCreated: 1683873845
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerLog.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | [Name("打印日志")]
6 | [Color(1, 0, 0)]
7 | [Attachable(typeof(SignalTrack))]
8 | public class TriggerLog : ClipSignal
9 | {
10 | [Color("#F0F")][Name("打印内容")] public string log;
11 |
12 |
13 |
14 | [ReadOnly] public string test;
15 | //public override string Info => "打印\n" + log;
16 | public override bool IsValid => !string.IsNullOrEmpty(log);
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerLog.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a64349cad6264d0b9c283e9780792fb3
3 | timeCreated: 1684551627
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerShake.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | [Name("触发震动")]
6 | [Color(1, 0, 0)]
7 | [Attachable(typeof(SignalTrack))]
8 | public class TriggerShake : ClipSignal
9 | {
10 | [Name("类型")]
11 | public int shakeType;
12 |
13 | [Name("屏幕抖动时长")]
14 | public float duration = 0.5f;
15 |
16 | [Name("屏幕抖动幅度")]
17 | public int range = 5;
18 |
19 | [Name("设备震动时长")]
20 | public float vibrationDuration = 0.5f;
21 |
22 | [Name("设备震动强度")]
23 | public int vibrationForce = EventShakeForceType.Default;
24 |
25 | //public override string Info
26 | //{
27 | // get
28 | // {
29 | // var name = AttributesUtility.GetName(shakeType, typeof(EventShakeType));
30 | // if (shakeType == EventShakeType.Screen || shakeType == EventShakeType.ScreenAndPhone)
31 | // {
32 | // return "震动\n" + name + duration + "s " + range+"px";
33 | // }
34 |
35 | // return "震动\n" + name;
36 | // }
37 | //}
38 |
39 | public override bool IsValid => shakeType > 0;
40 | }
41 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Event/TriggerShake.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b2c28d156e9454aa0b523e22e03263c
3 | timeCreated: 1683874715
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/GameObject.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4589380b90834bae8795488d119d2ddd
3 | timeCreated: 1683873729
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/GameObject/VisibleTo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | [Name("显示隐藏")]
8 | [Color(1, 90f / 255f, 90f / 255f)]
9 | [Attachable(typeof(ActionTrack))]
10 | public class VisibleTo : Clip
11 | {
12 | [Name("显示")] public bool visible = true;
13 |
14 | public override float Length
15 | {
16 | get => length;
17 | set => length = value;
18 | }
19 |
20 | //public override string Info => $"{(visible ? "显示" : "隐藏")}";
21 |
22 | public override bool IsValid => true;
23 |
24 | private ActionTrack Track => (ActionTrack)Parent;
25 | }
26 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/GameObject/VisibleTo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20df64a2d8844fd18c018690de9a9ce4
3 | timeCreated: 1682303205
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c03f8f6a64334b819796dc7da475adad
3 | timeCreated: 1683873542
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/MoveBy.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | [Name("移动")]
8 | [Color(70f / 255f, 1, 140f / 255f)]
9 | [Attachable(typeof(ActionTrack))]
10 | public class MoveBy : Clip
11 | {
12 |
13 | [Name("运动曲线")] public AnimationCurve curve;
14 |
15 | [Name("运动补间")] public EaseType interpolation = EaseType.QuadInOut;
16 |
17 | [Name("移动量")] public Vector3 move;
18 |
19 | //public override string Info => $"位移:\n{move}";
20 |
21 | public override float Length
22 | {
23 | get => length;
24 | set => length = value;
25 | }
26 |
27 |
28 | public override bool IsValid => true;
29 |
30 | private ActionTrack Track => (ActionTrack)Parent;
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/MoveBy.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae04abf770f449088c52fb314b5db844
3 | timeCreated: 1683873751
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/MoveTo.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("移动至")]
7 | [Color(70f / 255f, 1, 140f / 255f)]
8 | [Attachable(typeof(ActionTrack))]
9 | public class MoveTo : Clip
10 | {
11 | [Name("运动补间")] public EaseType interpolation = EaseType.QuadInOut;
12 |
13 | [Name("位移终点")]
14 | public int moveType;
15 |
16 |
17 | //public override string Info => $"移动至:\n{AttributesUtility.GetName(moveType, typeof(MoveToType))}";
18 |
19 | public override float Length
20 | {
21 | get => length;
22 | set => length = value;
23 | }
24 |
25 |
26 | public override bool IsValid => true;
27 |
28 | private ActionTrack Track => (ActionTrack)Parent;
29 | }
30 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/MoveTo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8302a8becde649e7889e8070e220abf0
3 | timeCreated: 1684551754
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/RotateTo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using ActionEditor;
4 | using UnityEngine;
5 |
6 | namespace ActionEditor
7 | {
8 | [Name("旋转角度")]
9 | [Color(70f / 255f, 1, 140f / 255f)]
10 | [Attachable(typeof(ActionTrack))]
11 | public class RotateTo : Clip, IResizeAble
12 | {
13 |
14 | [Name("运动曲线")] public EaseType interpolation = EaseType.QuadInOut;
15 | [Name("旋转角度")] public Vector3 targetRotation = Vector3.zero;
16 | public List test;
17 | public Vector2[] test2;
18 |
19 | public int hh;
20 | public override float Length
21 | {
22 | get => length;
23 | set => length = value;
24 | }
25 |
26 | //public override string Info => $"旋转:\n{targetRotation}";
27 |
28 | public override bool IsValid => true;
29 |
30 | private ActionTrack Track => (ActionTrack)Parent;
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/RotateTo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d021182972d24cb5a79025998b329ab4
3 | timeCreated: 1683873551
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/ScaleTo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | [Name("缩放")]
8 | [Color(70f / 255f, 1, 140f / 255f)]
9 | [Attachable(typeof(ActionTrack))]
10 | public class ScaleTo: Clip
11 | {
12 |
13 | [Name("缩放曲线")] public EaseType interpolation = EaseType.QuadInOut;
14 | [Name("缩放目标")] public Vector2 targetScale = Vector2.one;
15 |
16 | public override float Length
17 | {
18 | get => length;
19 | set => length = value;
20 | }
21 |
22 | //public override string Info => $"缩放:\n{targetScale}";
23 |
24 | public override bool IsValid => true;
25 |
26 | private ActionTrack Track => (ActionTrack)Parent;
27 | }
28 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Clips/Transform/ScaleTo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e35962605be4f3c933533900bba5cde
3 | timeCreated: 1682479620
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/OptionParams.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 |
3 | namespace ActionEditor
4 | {
5 | public partial class EventNames
6 | {
7 | public const int None = 0;
8 | [Name("测试事件")] public const int Test = 1;
9 | [Name("触发击中")] public const int Hit = 2;
10 | [Name("必杀检测")] public const int Kill = 3;
11 | }
12 |
13 | public partial class EventHitTypes
14 | {
15 | [Name("正常结算")] public const int Def = 0;
16 | [Name("拆分结算")] public const int Gap = 1;
17 | [Name("不结算")] public const int Fake = 2;
18 | }
19 |
20 | public partial class EventShakeType
21 | {
22 | public const int None = 0;
23 | [Name("屏幕")] public const int Screen = 1;
24 | [Name("手机")] public const int Phone = 2;
25 | [Name("手机和屏幕")] public const int ScreenAndPhone = 3;
26 | }
27 |
28 | public partial class EventShakeForceType
29 | {
30 | ///
31 | /// 选中
32 | ///
33 | [Name("Selection")] public const int Selection = 0;
34 |
35 | ///
36 | /// 常规震动
37 | ///
38 | [Name("Vibrate")] public const int Vibrate = 7;
39 |
40 | ///
41 | /// Unity自带
42 | ///
43 | [Name("Default")] public const int Default = 8;
44 | }
45 |
46 | public class TrackLayer
47 | {
48 | [Name("底层")] public const int Bottom = 0;
49 | [Name("角色层")] public const int Mid = 1;
50 | [Name("最顶层")] public const int TopHighest = 2;
51 | [Name("随便什么层")] public const int Custom_NoSet = 3;
52 | }
53 |
54 |
55 | public partial class MoveToType
56 | {
57 | [Name("None")] public const int None = 0;
58 | [Name("目标面前")] public const int Target = 1;
59 | [Name("初始站位")] public const int OriginalPosition = 2;
60 | }
61 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/OptionParams.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ecb473d1c014a118e6bf79cdce640ca
3 | timeCreated: 1683873953
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 062238374b1dba44386e442c39f9f3eb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/ActionTrack.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 | using UnityEngine;
4 |
5 | namespace ActionEditor
6 | {
7 | [Name("行为轨道")]
8 | [TrackIcon(typeof(Transform))]
9 | [Color(70f / 255f, 1, 140f / 255f)]
10 | public class ActionTrack : Track
11 | {
12 | [Name("测试1")] public int Test1;
13 |
14 | [Name("测试2")] public float Test2;
15 |
16 | [Name("测试3")] public string Test3;
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/ActionTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e7ca5c0434e14e47835f32b395233b5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/AnimationTrack.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("动画轨道")]
7 | [TrackIcon(typeof(AnimationClip))]
8 | [Color(0.48f, 0.71f, 0.84f)]
9 | public class AnimationTrack : Track
10 | {
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/AnimationTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2a9db414099843999551c8e3036e3029
3 | timeCreated: 1684552098
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/AudioTrack.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("音频轨道")]
7 | [TrackIcon(typeof(AudioClip))]
8 | [Color(1f, 0.63f, 0f)]
9 | public class AudioTrack : Track
10 | {
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/AudioTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68e492df250d44fa823e969d5bb3ba4b
3 | timeCreated: 1683254108
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/EffectTrack.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("特效轨道")]
7 | [TrackIcon(typeof(ParticleSystem))]
8 | [Color(0f, 1f, 1f)]
9 | public class EffectTrack : Track
10 | {
11 | [Name("轨道层")]
12 | public int Layer;
13 | }
14 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/EffectTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 659090e873e746ca9f1c6cb94357fd58
3 | timeCreated: 1683875575
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/SignalTrack.cs:
--------------------------------------------------------------------------------
1 | using ActionEditor;
2 | using UnityEngine.EventSystems;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("信号轨道")]
7 | [Attachable(typeof(Group))]
8 | [TrackIcon(typeof(EventSystem))]
9 | public class SignalTrack : Track
10 | {
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/Directables/Tracks/SignalTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3fecc192183f461ca51109a8fd37fe76
3 | timeCreated: 1683873871
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/SkillAsset.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ActionEditor;
3 |
4 | namespace ActionEditor
5 | {
6 | [Name("角色技能")]
7 | [Serializable]
8 | public class SkillAsset : Asset
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/ActionEditorExample/Runtime/SkillAsset.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40827cb21221493448cc239bd8b5864d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/das.action.bytes:
--------------------------------------------------------------------------------
1 | ActionEditor.BuffAsset
2 | {"Temps":[],"length":0.10000000149011612,"viewTimeMin":0.0,"viewTimeMax":5.0,"test":""}
--------------------------------------------------------------------------------
/Assets/das.action.bytes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0a60118fe9e83d44bd6da7c85c948d6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/dsad.action.bytes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8899679dc3d84ab41b6c3f744ba111df
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/opk.action.bytes:
--------------------------------------------------------------------------------
1 | ActionEditor.BuffAsset
2 | {"Temps":[],"length":0.10000000149011612,"viewTimeMin":0.0,"viewTimeMax":5.0,"test":""}
--------------------------------------------------------------------------------
/Assets/opk.action.bytes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: de51256dd1969804e91a363d8e626dca
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 O_O
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ide.visualstudio": "2.0.22",
4 | "com.unity.ide.vscode": "1.2.5",
5 | "com.unity.ugui": "1.0.0",
6 | "com.unity.modules.ai": "1.0.0",
7 | "com.unity.modules.androidjni": "1.0.0",
8 | "com.unity.modules.animation": "1.0.0",
9 | "com.unity.modules.assetbundle": "1.0.0",
10 | "com.unity.modules.audio": "1.0.0",
11 | "com.unity.modules.cloth": "1.0.0",
12 | "com.unity.modules.director": "1.0.0",
13 | "com.unity.modules.imageconversion": "1.0.0",
14 | "com.unity.modules.imgui": "1.0.0",
15 | "com.unity.modules.jsonserialize": "1.0.0",
16 | "com.unity.modules.particlesystem": "1.0.0",
17 | "com.unity.modules.physics": "1.0.0",
18 | "com.unity.modules.physics2d": "1.0.0",
19 | "com.unity.modules.screencapture": "1.0.0",
20 | "com.unity.modules.terrain": "1.0.0",
21 | "com.unity.modules.terrainphysics": "1.0.0",
22 | "com.unity.modules.tilemap": "1.0.0",
23 | "com.unity.modules.ui": "1.0.0",
24 | "com.unity.modules.uielements": "1.0.0",
25 | "com.unity.modules.umbra": "1.0.0",
26 | "com.unity.modules.unityanalytics": "1.0.0",
27 | "com.unity.modules.unitywebrequest": "1.0.0",
28 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
29 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
30 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
31 | "com.unity.modules.unitywebrequestwww": "1.0.0",
32 | "com.unity.modules.vehicles": "1.0.0",
33 | "com.unity.modules.video": "1.0.0",
34 | "com.unity.modules.vr": "1.0.0",
35 | "com.unity.modules.wind": "1.0.0",
36 | "com.unity.modules.xr": "1.0.0"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 0
20 |
--------------------------------------------------------------------------------
/ProjectSettings/AutoStreamingSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1200 &1
4 | AutoStreamingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | mSearchMode: 15
8 | mCustomSearchFile:
9 | mTextureSearchString:
10 | mMeshSearchString:
11 | mTextures: []
12 | mAudios: []
13 | mMeshes: []
14 | mScenes: []
15 | mConfigCCD:
16 | useCCD: 0
17 | cosKey:
18 | projectGuid:
19 | bucketUuid:
20 | bucketName:
21 | badgeName:
22 |
--------------------------------------------------------------------------------
/ProjectSettings/BurstAotSettings_StandaloneWindows.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "UsePlatformSDKLinker": false,
9 | "CpuMinTargetX32": 0,
10 | "CpuMaxTargetX32": 0,
11 | "CpuMinTargetX64": 0,
12 | "CpuMaxTargetX64": 0,
13 | "CpuTargetsX32": 6,
14 | "CpuTargetsX64": 72,
15 | "OptimizeFor": 0
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/CommonBurstAotSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "DisabledWarnings": ""
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 13
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0.1
18 | m_ClothInterCollisionStiffness: 0.2
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 0
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ClothGravity: {x: 0, y: -9.81, z: 0}
26 | m_ContactPairsMode: 0
27 | m_BroadphaseType: 0
28 | m_WorldBounds:
29 | m_Center: {x: 0, y: 0, z: 0}
30 | m_Extent: {x: 250, y: 250, z: 250}
31 | m_WorldSubdivisions: 8
32 | m_FrictionType: 0
33 | m_EnableEnhancedDeterminism: 0
34 | m_EnableUnifiedHeightmaps: 1
35 | m_SolverType: 0
36 | m_DefaultMaxAngularSpeed: 50
37 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/SampleScene.unity
10 | guid: 99c9720ab356a0642a771bea13969a05
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_SerializationMode: 2
8 | m_LineEndingsForNewScripts: 0
9 | m_DefaultBehaviorMode: 0
10 | m_PrefabRegularEnvironment: {fileID: 0}
11 | m_PrefabUIEnvironment: {fileID: 0}
12 | m_SpritePackerMode: 0
13 | m_SpritePackerPaddingPower: 1
14 | m_Bc7TextureCompressor: 0
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp
20 | m_ProjectGenerationRootNamespace:
21 | m_EnableTextureStreamingInEditMode: 1
22 | m_EnableTextureStreamingInPlayMode: 1
23 | m_AsyncShaderCompilation: 1
24 | m_CachingShaderPreprocessor: 1
25 | m_PrefabModeAllowAutoSave: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_GameObjectNamingDigits: 1
29 | m_GameObjectNamingScheme: 0
30 | m_AssetNamingUsesSpace: 1
31 | m_UseLegacyProbeSampleCount: 0
32 | m_SerializeInlineMappingsOnOneLine: 0
33 | m_DisableCookiesInLightmapper: 1
34 | m_AssetPipelineMode: 1
35 | m_RefreshImportMode: 0
36 | m_CacheServerMode: 0
37 | m_CacheServerEndpoint:
38 | m_CacheServerNamespacePrefix: default
39 | m_CacheServerEnableDownload: 1
40 | m_CacheServerEnableUpload: 1
41 | m_CacheServerEnableAuth: 0
42 | m_CacheServerEnableTls: 0
43 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 14
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_VideoShadersIncludeMode: 2
32 | m_AlwaysIncludedShaders:
33 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
40 | m_PreloadedShaders: []
41 | m_PreloadShadersBatchTimeLimit: -1
42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
43 | type: 0}
44 | m_CustomRenderPipeline: {fileID: 11400000, guid: 7b7fd9122c28c4d15b667c7040e3b3fd,
45 | type: 2}
46 | m_TransparencySortMode: 0
47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
48 | m_DefaultRenderingPath: 1
49 | m_DefaultMobileRenderingPath: 1
50 | m_TierSettings: []
51 | m_LightmapStripping: 0
52 | m_FogStripping: 0
53 | m_InstancingStripping: 0
54 | m_LightmapKeepPlain: 1
55 | m_LightmapKeepDirCombined: 1
56 | m_LightmapKeepDynamicPlain: 1
57 | m_LightmapKeepDynamicDirCombined: 1
58 | m_LightmapKeepShadowMask: 1
59 | m_LightmapKeepSubtractive: 1
60 | m_FogKeepLinear: 1
61 | m_FogKeepExp: 1
62 | m_FogKeepExp2: 1
63 | m_AlbedoSwatchInfos: []
64 | m_LightsUseLinearIntensity: 1
65 | m_LightsUseColorTemperature: 1
66 | m_DefaultRenderingLayerMask: 1
67 | m_LogWhenShaderIsCompiled: 0
68 | m_SRPDefaultSettings:
69 | UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa,
70 | type: 2}
71 |
--------------------------------------------------------------------------------
/ProjectSettings/MemorySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!387306366 &1
4 | MemorySettings:
5 | m_ObjectHideFlags: 0
6 | m_EditorMemorySettings:
7 | m_MainAllocatorBlockSize: -1
8 | m_ThreadAllocatorBlockSize: -1
9 | m_MainGfxBlockSize: -1
10 | m_ThreadGfxBlockSize: -1
11 | m_CacheBlockSize: -1
12 | m_TypetreeBlockSize: -1
13 | m_ProfilerBlockSize: -1
14 | m_ProfilerEditorBlockSize: -1
15 | m_BucketAllocatorGranularity: -1
16 | m_BucketAllocatorBucketsCount: -1
17 | m_BucketAllocatorBlockSize: -1
18 | m_BucketAllocatorBlockCount: -1
19 | m_ProfilerBucketAllocatorGranularity: -1
20 | m_ProfilerBucketAllocatorBucketsCount: -1
21 | m_ProfilerBucketAllocatorBlockSize: -1
22 | m_ProfilerBucketAllocatorBlockCount: -1
23 | m_TempAllocatorSizeMain: -1
24 | m_JobTempAllocatorBlockSize: -1
25 | m_BackgroundJobTempAllocatorBlockSize: -1
26 | m_JobTempAllocatorReducedBlockSize: -1
27 | m_TempAllocatorSizeGIBakingWorker: -1
28 | m_TempAllocatorSizeNavMeshWorker: -1
29 | m_TempAllocatorSizeAudioWorker: -1
30 | m_TempAllocatorSizeCloudWorker: -1
31 | m_TempAllocatorSizeGfx: -1
32 | m_TempAllocatorSizeJobWorker: -1
33 | m_TempAllocatorSizeBackgroundWorker: -1
34 | m_TempAllocatorSizePreloadManager: -1
35 | m_PlatformMemorySettings: {}
36 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreReleasePackages: 0
16 | m_EnablePackageDependencies: 0
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | m_SeeAllPackageVersions: 0
20 | oneTimeWarningShown: 0
21 | m_Registries:
22 | - m_Id: main
23 | m_Name:
24 | m_Url: https://packages.unity.cn
25 | m_Scopes: []
26 | m_IsDefault: 1
27 | m_Capabilities: 7
28 | m_ConfigSource: 0
29 | m_UserSelectedRegistryName:
30 | m_UserAddingNewScopedRegistry: 0
31 | m_RegistryInfoDraft:
32 | m_Modified: 0
33 | m_ErrorMessage:
34 | m_UserModificationsInstanceId: -848
35 | m_OriginalInstanceId: -850
36 | m_LoadAssets: 0
37 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 0
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2021.3.33f1c1
2 | m_EditorVersionWithRevision: 2021.3.33f1c1 (682b9db7927c)
3 |
--------------------------------------------------------------------------------
/ProjectSettings/ShaderGraphSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | customInterpolatorErrorThreshold: 32
16 | customInterpolatorWarningThreshold: 16
17 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/URPProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_LastMaterialVersion: 5
16 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_DashboardUrl: https://dashboard.unity3d.com
13 | m_TestInitMode: 0
14 | CrashReportingSettings:
15 | m_EventUrl: https://perf-events.cloud.unity3d.com
16 | m_Enabled: 0
17 | m_LogBufferSize: 10
18 | m_CaptureEditorExceptions: 1
19 | UnityPurchasingSettings:
20 | m_Enabled: 0
21 | m_TestMode: 0
22 | UnityAnalyticsSettings:
23 | m_Enabled: 0
24 | m_TestMode: 0
25 | m_InitializeOnStartup: 1
26 | UnityAdsSettings:
27 | m_Enabled: 0
28 | m_InitializeOnStartup: 1
29 | m_TestMode: 0
30 | m_IosGameId:
31 | m_AndroidGameId:
32 | m_GameIds: {}
33 | m_GameId:
34 | PerformanceReportingSettings:
35 | m_Enabled: 0
36 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_StripUpdateShader: {fileID: 0}
10 | m_RenderPipeSettingsPath:
11 | m_FixedTimeStep: 0.016666668
12 | m_MaxDeltaTime: 0.05
13 |
--------------------------------------------------------------------------------
/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/ProjectSettings/WhootActionSequencer.txt:
--------------------------------------------------------------------------------
1 | {"TimeStepMode":0,"SnapInterval":0.009999999776482582,"FrameRate":10,"AutoSaveSeconds":14,"MagnetSnapping":true,"TrackListLeftMargin":256.0}
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/ProjectSettings/boot.config:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OnClick9927/ActionEditor/436cfd7c81b55d17a486bf96c3c54c1ac6a6483e/ProjectSettings/boot.config
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # upm 地址 https://github.com/OnClick9927/ActionEditor.git#upm
2 | * ActionEditor
3 | * 类Timeline 编辑器,只有Editor,RT 自己扩展
4 | # [魔改源](https://github.com/NoBugCn/ActionEditor)
5 | 
6 |
7 |
--------------------------------------------------------------------------------
/upm.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | set b="version"
3 | set version ="1"
4 | REM 获取版本号
5 | for /f "tokens=1,2* delims=:," %%a in (Assets/ActionEditor/package.json) do (
6 | echo %%a| findstr %b% >nul && (
7 | set version= %%b
8 | ) || (
9 | @REM echo %%a nnn %b%
10 | )
11 | )
12 |
13 |
14 | set version=%version: =%
15 | echo on
16 | git subtree split --prefix=Assets/ActionEditor --branch upm
17 | git push origin upm:upm
18 | git tag %version% upm
19 | git push origin upm --tags
20 | set cur=%~dp0
21 |
22 |
23 | pause
--------------------------------------------------------------------------------