summaryrefslogtreecommitdiff
path: root/Erika/Assets/Scripts/Unit/Events
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-03-10 14:07:40 +0800
committerchai <chaifix@163.com>2022-03-10 14:07:40 +0800
commit22891bf59032ba88262824255a706d652031384b (patch)
tree7595439ba9966c9402d37e37cee5e8cf098757d5 /Erika/Assets/Scripts/Unit/Events
parent8b04ea73e540067f83870b61d89db4868fea5e8a (diff)
* move folder
Diffstat (limited to 'Erika/Assets/Scripts/Unit/Events')
-rw-r--r--Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs35
-rw-r--r--Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/Editor.meta8
-rw-r--r--Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs39
-rw-r--r--Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventEffect.cs43
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventEffect.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs12
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs65
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs19
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs8
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs20
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs13
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs13
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventProjectile.cs68
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventProjectile.cs.meta11
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs23
-rw-r--r--Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs.meta11
25 files changed, 498 insertions, 0 deletions
diff --git a/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs b/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs
new file mode 100644
index 00000000..d8d97892
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class AnimationEventBase : ScriptableObject
+{
+ public int startFrame;
+
+ public abstract TimelineEventProxy.EEventType type { get; }
+
+ public string fullName
+ {
+ get
+ {
+ return this.type.ToString();
+ }
+ }
+
+ public string Name
+ {
+ get
+ {
+ string name = fullName.Replace("Event", "");
+ //int underscore = name.IndexOf('_');
+ //if (underscore != -1)
+ //{
+ // name = name.Substring(underscore + 1, name.Length - underscore - 1);
+ //}
+ return name;
+ }
+ }
+
+ public abstract string shortName { get; }
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs.meta b/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs.meta
new file mode 100644
index 00000000..346639b7
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/AnimationEventBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dcc64954e16467640a4c85e184747ecd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/Editor.meta b/Erika/Assets/Scripts/Unit/Events/Editor.meta
new file mode 100644
index 00000000..c76c19aa
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7fe98fd5a5f07b94694065f2722b59b1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs b/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs
new file mode 100644
index 00000000..1ca321c8
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs
@@ -0,0 +1,39 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+[CustomEditor(typeof(AnimationData))]
+public class AnimationDataEditor : Editor
+{
+ AnimationData animData;
+
+ public void OnEnable()
+ {
+ animData = target as AnimationData;
+ }
+
+ public void OnDisable()
+ {
+
+ }
+
+ public override void OnInspectorGUI()
+ {
+ this.DrawDefaultInspector();
+
+ //if (animData == null)
+ // return;
+ //EditorGUI.BeginChangeCheck();
+
+ //GUILayout.Label("Animation File:");
+ //GUILayout.TextField(animData.animationName);
+
+ //if(EditorGUI.EndChangeCheck())
+ //{
+ // EditorUtility.SetDirty(animData);
+ // AssetDatabase.SaveAssets();
+ //}
+ }
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs.meta b/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs.meta
new file mode 100644
index 00000000..2ec7d039
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/Editor/AnimationDataInspector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6f340a992a68e144cb133678df7b505d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventEffect.cs b/Erika/Assets/Scripts/Unit/Events/EventEffect.cs
new file mode 100644
index 00000000..204fa528
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventEffect.cs
@@ -0,0 +1,43 @@
+using UnityEngine;
+
+public class EventEffect : AnimationEventBase
+{
+ public enum EParentNode
+ {
+ Unit = 0,
+ World,
+ Bone,
+ PresetBone,
+ ReferencePoint,
+ }
+
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventEffect; } }
+ public override string shortName { get { return "E"; } }
+
+ [Tooltip("Effect path")]
+ public string effectPath;
+
+ [Tooltip("Is attached to a bone")]
+ public bool attached = true;
+
+ [Tooltip("Parent node")]
+ public EParentNode parentNode = EParentNode.Unit;
+
+ [When("parentNode", EParentNode.Bone), Tooltip("Bone path attach to")]
+ public string bonePath;
+
+ [When("parentNode", EParentNode.PresetBone), Tooltip("Preset unit bone defined in unit details")]
+ public EUnitBone bone;
+
+ [When("parentNode", EParentNode.ReferencePoint), Tooltip("参考点")]
+ public EUnitReferencePoint referencePoint;
+
+ [Tooltip("Position offset")]
+ public Vector3 position;
+
+ [Tooltip("Rotation in euler")]
+ public Vector3 rotation;
+
+ [Tooltip("Scale")]
+ public Vector3 scale = Vector3.one;
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventEffect.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventEffect.cs.meta
new file mode 100644
index 00000000..c88ceaa0
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventEffect.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9fe45d0826fb033448a877f1d49199d6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs b/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs
new file mode 100644
index 00000000..df393a6b
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs
@@ -0,0 +1,12 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventGame_TimeScale : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventGame_TimeScale; } }
+ public override string shortName { get { return "T"; } }
+
+ public AnimationCurve curve;
+
+} \ No newline at end of file
diff --git a/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta
new file mode 100644
index 00000000..8b5d5745
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 227b9bc615c7c8044be9c4547dee5fcf
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs
new file mode 100644
index 00000000..3eb161cb
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs
@@ -0,0 +1,65 @@
+using UnityEngine;
+
+public class EventMesh_AfterImage : AnimationEventBase
+{
+ public enum ESpawnRange // 生成残影的范围
+ {
+ Once = 0, // 只生成一个残影
+ Duration = 1, // 给定一个时间范围内
+ WaitForAfterImageStopEvent = 2, // 等待触发afterImageStopEvent
+ Manual = 3, // 手动停止生成
+ }
+
+ public enum ESpawnPosition
+ {
+ InitPosition = 0, // 在触发事件的位置生成
+ Follow = 1, // 跟随
+ }
+
+ public enum ESpawnMode
+ {
+ Count = 0, // 生成固定数量个,间隔平均
+ Interval = 1, // 等时间间隔生成
+ Curve = 2, // 曲线
+ }
+
+ public enum EEffect // 效果
+ {
+ Original = 0, // 原样
+ RimLight = 1, // 边缘光
+ FullColor = 2, // 全着色
+ Ink = 3, // 墨水效果
+ Distorsion = 4, // 扭曲
+ Dissolve = 5, // 溶解
+ }
+
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_AfterImage; } }
+ public override string shortName { get { return "A"; } }
+
+ [Comment("[ 残影生成 ]", TextAnchor.MiddleCenter)]
+ public ESpawnRange spawnRange;
+
+ [When("spawnRange", ESpawnRange.Duration), Tooltip("整个生成的持续时间(按时间,scaledTime)")]
+ public float duration;
+
+ public ESpawnPosition spawnPosition;
+
+ public ESpawnMode spawnMode;
+ [When("spawnMode", ESpawnMode.Count)]
+ public int spawnCount;
+ [When("spawnMode", ESpawnMode.Interval)]
+ public float interval;
+ [When("spawnMode", ESpawnMode.Curve)]
+ public AnimationCurve spawnCurve;
+
+ [Comment("[ 残影效果 ]", TextAnchor.MiddleCenter)]
+ public EEffect effect;
+
+ [ Tooltip("单个残影持续时间(按时间,scaledTime)")]
+ public float lifetime;
+
+ [When("effect", EEffect.RimLight)]
+ [HDR] public Color rimColor;
+
+ [HDR] public Color color;
+} \ No newline at end of file
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs.meta
new file mode 100644
index 00000000..5e68ea59
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_AfterImage.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cbd5a33b9ed7704439230ab5ba43cb86
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs
new file mode 100644
index 00000000..29d1adde
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+
+public class EventMesh_FadeIn : AnimationEventBase
+{
+ public enum EFadeInMode
+ {
+ Linear = 0,
+ Curve = 1,
+ }
+
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_FadeIn; } }
+ public override string shortName { get { return "I"; } }
+
+ public EFadeInMode mode;
+
+ [Tooltip("Duration in frame")]
+ public float duration;
+
+} \ No newline at end of file
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs.meta
new file mode 100644
index 00000000..5c943a7d
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeIn.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 155962a945650e440806af7a4346f155
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs
new file mode 100644
index 00000000..209810b2
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs
@@ -0,0 +1,8 @@
+using UnityEngine;
+
+public class EventMesh_FadeOut : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_FadeOut; } }
+ public override string shortName { get { return "O"; } }
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs.meta
new file mode 100644
index 00000000..7abb9b33
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_FadeOut.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ed55d0137f7de849918ade75357e60b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs
new file mode 100644
index 00000000..cb1a657c
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs
@@ -0,0 +1,20 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventMesh_ImageEffect_MotionBlur : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type => TimelineEventProxy.EEventType.EventMesh_ImageEffect_MotionBlur;
+
+ public override string shortName => "M";
+
+ public float lifeTime;
+
+ public float angle;
+
+ public float distance;
+
+ [Tooltip("隐藏角色")]
+ public bool hideUnitInMainCamera;
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs.meta
new file mode 100644
index 00000000..e8e385f9
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a75401f0015aa1e4f856979c8aa1dae2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs
new file mode 100644
index 00000000..0da254cc
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventMesh_LensEffect_Dash : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_LensEffect_Dash; } }
+ public override string shortName { get { return "D"; } }
+
+ public float lifeTime;
+ public float angle;
+
+} \ No newline at end of file
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs.meta
new file mode 100644
index 00000000..7be0b8bf
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_LensEffect_Dash.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d52092c3bed6f524ead14801bb72e1c3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs b/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs
new file mode 100644
index 00000000..cf6e1bc8
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventMesh_VisibilityInMainCamera : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type => TimelineEventProxy.EEventType.EventMesh_VisibilityInMainCamera;
+
+ public override string shortName => "V";
+
+ public bool isVisible;
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs.meta
new file mode 100644
index 00000000..eb3e8bf8
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventMesh_VisibilityInMainCamera.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a4957372b8a4fd946b86016c20f83750
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs b/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs
new file mode 100644
index 00000000..65bf4d29
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs
@@ -0,0 +1,68 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventProjectile : AnimationEventBase
+{
+ public enum EMoveType
+ {
+ Kinematic = 0,
+ Curve, // 用一个固定曲线运动
+ Procedural, // 程序控制
+ }
+
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventProjectile; } }
+
+ public override string shortName { get { return "P"; } }
+
+ [Tooltip("名字,可以用来识别这个projectile")]
+ public string name;
+
+ [Tooltip("标签,可以用来做一些标记,逗号分隔")]
+ public string tag;
+
+ [Tooltip("Projectile path")]
+ public string projectilePath;
+
+ [Tooltip("Is attached to a bone")]
+ public bool attachedToBone;
+
+ [If("attachedToBone"), Tooltip("Bone path attach to")]
+ public string bone;
+
+ [Tooltip("Position offset")]
+ public Vector3 posOffset;
+
+ [Tooltip("Rotation in euler")]
+ public Vector3 rotation;
+
+ [Tooltip("Scale")]
+ public Vector3 scale = Vector3.one;
+
+ public float lifeTime;
+
+ [Comment("[ 运动方式 ]", TextAnchor.MiddleCenter)]
+
+ public EMoveType moveType;
+
+ [When("moveType", EMoveType.Kinematic), Tooltip("初始速度")]
+ public Vector3 velocity;
+ [When("moveType", EMoveType.Kinematic), Tooltip("加速度")]
+ public Vector3 acceleration;
+
+ [When("moveType", EMoveType.Curve), Tooltip("运动曲线")]
+ public string curvePath;
+ [When("moveType", EMoveType.Curve), Tooltip("运动速度")]
+ public AnimationCurve speedCurve;
+
+ [WhenNot("moveType", EMoveType.Procedural), Tooltip("forward朝向运动轨迹的方向")]
+ public bool towardDirection;
+
+ [Comment("[ 击中反馈 ]", TextAnchor.MiddleCenter)]
+
+ public string sparkPath;
+
+ [Tooltip("击中效果")]
+ public ColliderBox.EHitResponse hitResponse;
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs.meta
new file mode 100644
index 00000000..4afba321
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventProjectile.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 75c54c029c766614590737d26471b7a4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs b/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs
new file mode 100644
index 00000000..2298492b
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventUnit_SetPosition : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type => TimelineEventProxy.EEventType.EventUnit_SetPosition;
+
+ public override string shortName => "P";
+
+ public bool setX;
+ [If("setX")]
+ public float x;
+
+ public bool setY;
+ [If("setY")]
+ public float y;
+
+ public bool setZ;
+ [If("setZ")]
+ public float z;
+
+}
diff --git a/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs.meta b/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs.meta
new file mode 100644
index 00000000..d7ccb476
--- /dev/null
+++ b/Erika/Assets/Scripts/Unit/Events/EventUnit_SetPosition.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7b8952562a0fbae41a92bd6c1f897ca1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: