diff options
author | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
commit | 22891bf59032ba88262824255a706d652031384b (patch) | |
tree | 7595439ba9966c9402d37e37cee5e8cf098757d5 /Erika/Assets/Scripts/Unit/Events | |
parent | 8b04ea73e540067f83870b61d89db4868fea5e8a (diff) |
* move folder
Diffstat (limited to 'Erika/Assets/Scripts/Unit/Events')
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: |