summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit/Components
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Unit/Components')
-rw-r--r--Assets/Scripts/Unit/Components/UnitAfterImage.cs43
-rw-r--r--Assets/Scripts/Unit/Components/UnitAfterImage.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation.meta8
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs18
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs128
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs255
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs18
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs302
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitBody.cs27
-rw-r--r--Assets/Scripts/Unit/Components/UnitBody.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitCollider.cs123
-rw-r--r--Assets/Scripts/Unit/Components/UnitCollider.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitComponent.cs46
-rw-r--r--Assets/Scripts/Unit/Components/UnitComponent.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitImageEffect.cs202
-rw-r--r--Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitLensEffect.cs234
-rw-r--r--Assets/Scripts/Unit/Components/UnitLensEffect.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs13
-rw-r--r--Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitMovement.cs9
-rw-r--r--Assets/Scripts/Unit/Components/UnitMovement.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitPostEffect.cs15
-rw-r--r--Assets/Scripts/Unit/Components/UnitPostEffect.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitPreprocessing.cs136
-rw-r--r--Assets/Scripts/Unit/Components/UnitPreprocessing.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitRender.cs61
-rw-r--r--Assets/Scripts/Unit/Components/UnitRender.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitSkill.cs12
-rw-r--r--Assets/Scripts/Unit/Components/UnitSkill.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState.meta8
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/DroneState.cs18
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/DroneState.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/MonsterState.cs218
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/MonsterState.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs186
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs24
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState_States.cs390
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState_States.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PropState.cs18
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PropState.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/RobotState.cs18
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/RobotState.cs.meta11
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/UnitState.cs40
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/UnitState.cs.meta11
52 files changed, 0 insertions, 2845 deletions
diff --git a/Assets/Scripts/Unit/Components/UnitAfterImage.cs b/Assets/Scripts/Unit/Components/UnitAfterImage.cs
deleted file mode 100644
index 622e87ba..00000000
--- a/Assets/Scripts/Unit/Components/UnitAfterImage.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// Unit残影,通过复制avatar实现
-
-public class AfterImageSpawner
-{
- private float m_CurTime;
-
- private float m_Duration;
-
- public void OnUpdate()
- {
- float dt = Time.deltaTime;
- m_CurTime += dt;
-
-
- }
-
-}
-
-[DisallowMultipleComponent]
-public class UnitAfterImage : UnitComponent
-{
-
- private List<AfterImageSpawner> m_Spawners;
-
- public override void OnUpdate()
- {
- base.OnUpdate();
-
- if(m_Spawners != null)
- {
- for(int i = 0; i < m_Spawners.Count; ++i)
- {
- m_Spawners[i].OnUpdate();
- }
- }
-
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitAfterImage.cs.meta b/Assets/Scripts/Unit/Components/UnitAfterImage.cs.meta
deleted file mode 100644
index 21cdf37f..00000000
--- a/Assets/Scripts/Unit/Components/UnitAfterImage.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 567816c152acc834f9bd41efec9ee51c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation.meta b/Assets/Scripts/Unit/Components/UnitAnimation.meta
deleted file mode 100644
index 580176c0..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 21e3b4128e398d745a22f45d6268b4c7
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs
deleted file mode 100644
index 29caab7b..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class DroneAnimation : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs.meta b/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs.meta
deleted file mode 100644
index 219b76ff..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/DroneAnimation.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 352eb281e97bf67499a8a85ab013f0f0
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs
deleted file mode 100644
index ee111f73..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class MonsterAnimation : UnitAnimation
-{
- public enum ELayer
- {
- Basic = 0,
-
- Count,
- }
-
- // 动作名,和animator里的state对应
- public enum EAnimState
- {
- // layer 0
- Idle = 0,
- Move,
- Jump,
-
- HitLight,
- HitAir,
- HitInAir,
- HitBackHeavy,
-
- Rise,
- }
-
- public override void Initialize()
- {
- base.Initialize();
-
- m_Animator = this.m_Owner.unitObj.GetComponent<Animator>();
-
- m_Animator.speed = 0;
-
- m_LayerInfo = new AnimatorLayerInfo[2];
- m_LayerInfo[0] = new AnimatorLayerInfo(this, m_Animator, (int)ELayer.Basic);
- //m_LayerInfo[1] = new AnimatorLayerInfo(this, m_Animator, ELayer.Attack);
-
- if (m_Animator == null)
- {
- LogHelper.LogError("没有挂Animator组件");
- }
-
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
-
- UpdateLayer();
- UpdateAnimation();
- UpdateRootMotion();
- }
-
- void UpdateLayer()
- {
- m_LayerInfo[0].OnUpdate();
- return;
- for (int i = 0; i < m_LayerInfo.Length; ++i)
- {
- m_LayerInfo[i].OnUpdate();
- }
- }
-
- void UpdateAnimation()
- {
- m_Animator.speed = 1;
- m_Animator.Update(Time.deltaTime);
- m_Animator.speed = 0;
- }
-
- void UpdateRootMotion()
- {
- m_Owner.unitRootMotion.UpdateRootMotion();
- }
-
- public void AnimIdle()
- {
- this.CrossFade(EAnimState.Idle, 0.2f, 0);
- }
-
- public void AnimHitLight()
- {
- this.Play(EAnimState.HitLight, 0, 0);
- //m_Animator.CrossFade("HitLight", 0.05f, 0, 0, 0);
- }
-
- public void AnimHitAir()
- {
- this.Play(EAnimState.HitAir, 0, 0);
- //m_Animator.CrossFade("HitLight", 0.05f, 0, 0, 0);
- }
-
- public void AnimHitInAir()
- {
- this.Play(EAnimState.HitInAir, 0, 0);
- }
-
- public void AnimHitBackHeavy()
- {
- this.Play(EAnimState.HitBackHeavy, 0, 0);
- }
-
- public void AnimRise()
- {
- this.CrossFade(EAnimState.Rise, 0);
- }
-
- private void Play(EAnimState animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity)
- {
- AnimatorLayerInfo layer = this.layers[layerIndex];
- if (layer == null)
- return;
- layer.OnPlay(animState.ToString(), normalizedTime);
- }
-
- public void CrossFade(EAnimState animState, float normalizedTransitionDuration, int layerIndex = 0, float normalizedTimeOffset = float.NegativeInfinity, float normalizedTransitionTime = 0.0f)
- {
- AnimatorLayerInfo layer = this.layers[layerIndex];
- if (layer == null)
- return;
- layer.OnCrossFade(animState.ToString(), normalizedTransitionDuration, normalizedTimeOffset, normalizedTransitionTime);
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs.meta b/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs.meta
deleted file mode 100644
index 448e6a1a..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: cfaa5c94122a41d4f8fa844112514102
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
deleted file mode 100644
index f80a8312..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
+++ /dev/null
@@ -1,255 +0,0 @@
-#define ANIM_CROSS_FADE
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class PCAnimation : UnitAnimation
-{
-
-#if !ANIM_CROSS_FADE
- // 切换动画
- public enum ETrigger
- {
- ToIdle,
- ToMove,
- ToJump,
- ToAttack,
- ToAirAttack,
- ToLanding,
- }
-#endif
-
- public enum ELayer
- {
- Basic = 0,
- Attack,
- SwordAttack,
- GunAttack,
- UpperBody,
- LowerBody,
- Count,
- }
-
-
- // 动作名,和animator里的state对应
- public enum EAnimState
- {
- // layer 0
- Idle = 0,
- Move,
- Jump,
- Hit,
- Attack,
- Rise,
- Stinger,
- Turn,
- Landing,
-
- Attack0,
- Attack1,
- Attack2,
- Attack3,
-
- AttackToAir,
-
- AirAttack0,
- AirAttack1,
- AirAttack2,
- AirAttack3,
- AirAttack4,
-
- AirDash,
-
- LandingGround,
- }
-
- public override AnimatorLayerInfo baseLayer
- {
- get { return layers[(int)ELayer.Basic]; }
- }
-
- private UnitActionData m_ActionData;
-
- public bool applyRootMotion { get; set; }
- public bool applyRootCurve { get; set; } // 程序生成的root motion
-
- public bool updateAnimationAuto { get; private set; } // 自动更新动画
-
- private AnimatorOverrideController controller
- {
- get
- {
- Debug.Assert(owner.unitAnimation.animator.runtimeAnimatorController is AnimatorOverrideController);
- return owner.unitAnimation.animator.runtimeAnimatorController as AnimatorOverrideController;
- }
- }
-
- public override void Initialize()
- {
- base.Initialize();
-
- m_Animator = this.m_Owner.unitObj.GetComponent<Animator>();
-
- m_Animator.speed = 0;
-
- m_LayerInfo = new AnimatorLayerInfo[2];
- m_LayerInfo[0] = new AnimatorLayerInfo(this, m_Animator, (int)ELayer.Basic);
- //m_LayerInfo[1] = new AnimatorLayerInfo(this, m_Animator, ELayer.Attack);
-
- if (m_Animator == null)
- {
- LogHelper.LogError("没有挂Animator组件");
- }
-
- applyRootMotion = true;
-
- updateAnimationAuto = true;
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
-
- UpdateLayer();
- UpdateAnimation();
- UpdateRootMotion();
- UpdateRootCurve();
- }
-
- void UpdateLayer()
- {
- m_LayerInfo[0].OnUpdate();
- return;
- for (int i = 0; i < m_LayerInfo.Length; ++i)
- {
- m_LayerInfo[i].OnUpdate();
- }
- }
-
- void UpdateAnimation()
- {
- if(updateAnimationAuto)
- {
- m_Animator.speed = 1;
- m_Animator.Update(Time.deltaTime);
- m_Animator.speed = 0;
- }
- }
-
- void UpdateRootMotion()
- {
- if (!applyRootMotion)
- return;
-
- m_Owner.unitRootMotion.UpdateRootMotion();
- }
-
- void UpdateRootCurve()
- {
- if (!applyRootCurve)
- return;
- }
-
- AnimationData GetAnimationDataOfState(string name)
- {
- string animName = controller[name].name;
- string path = owner.folder + "AnimationData/" + animName + ".asset";
- AnimationData data = ResourceManager.Instance.LoadAsset<AnimationData>(path);
- return data;
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public void AnimIdle()
- {
- CrossFade(EAnimState.Idle, 0.2f, 0);
- }
-
- public void AnimMove()
- {
- CrossFade(EAnimState.Move, 0.01f, 0);
- }
-
- public void AnimJump()
- {
- CrossFade(EAnimState.Jump, 0.01f);
- }
-
- public void AnimAirAttack(int id)
- {
- m_Owner.unitCollider.OnAnimationChange();
- EAnimState state = EAnimState.AirAttack0;
- if (id == 1) state = EAnimState.AirAttack1;
- else if (id == 2) state = EAnimState.AirAttack2;
- else if (id == 3) state = EAnimState.AirAttack3;
- else if (id == 4) state = EAnimState.AirAttack4;
-
- AnimationData data = GetAnimationDataOfState(state.ToString());
- Debug.Assert(data != null);
- float offset = data.GetProperty(EAnimationProperty.ComboTimeOffset, 0);
- float duration = data.GetProperty(EAnimationProperty.TransitionInDuration, 0.1f);
- CrossFade(state, duration, offset);
- }
-
- public void AnimAttackToAir(float offset)
- {
- m_Owner.unitCollider.OnAnimationChange();
- Play(EAnimState.AttackToAir, offset);
- }
-
- public void AnimAttack(int id)
- {
- m_Owner.unitCollider.OnAnimationChange();
- switch (id)
- {
- case 0:
- CrossFade(EAnimState.Attack0, 0.02f);
- break;
- case 1:
- CrossFade(EAnimState.Attack1, 0.02f);
- break;
- case 2:
- CrossFade(EAnimState.Attack2, 0.02f);
- break;
- case 3:
- CrossFade(EAnimState.Attack3, 0.02f);
- break;
- }
- }
-
- public void AnimAirDash()
- {
- AnimationData data = GetAnimationDataOfState(EAnimState.AirDash.ToString());
- if (baseLayer.stateInfo.IsName(EAnimState.AirDash.ToString()))
- {
- float offset = data.GetProperty(EAnimationProperty.ComboTimeOffset, 0);
- this.Play(EAnimState.AirDash, offset);
- }
- else
- {
- CrossFade(EAnimState.AirDash, 0.02f);
- }
- }
-
- public void AnimLanding()
- {
- CrossFade(EAnimState.Landing, 0.05f);
- }
-
- public void AnimLandingGround()
- {
- CrossFade(EAnimState.LandingGround, 0.00f);
- }
-
- private void Play(EAnimState animState, float normalizedTime = float.NegativeInfinity, int layerIndex = 0)
- {
- base.Play(animState.ToString(), layerIndex, normalizedTime);
- }
-
- private void CrossFade(EAnimState animState, float normalizedTransitionDuration, float normalizedTimeOffset = float.NegativeInfinity, float normalizedTransitionTime = 0.0f, int layerIndex = 0)
- {
- base.CrossFade(animState.ToString(), normalizedTransitionDuration, layerIndex, normalizedTimeOffset, normalizedTransitionTime);
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs.meta b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs.meta
deleted file mode 100644
index 6999e268..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: f844378e1edf4b249b3b2f9a8e4a6842
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs
deleted file mode 100644
index a25f453e..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class RobotAnimation : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs.meta b/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs.meta
deleted file mode 100644
index f1cbe366..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/RobotAnimation.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1f127e594317b84478999dccd109e5bf
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
deleted file mode 100644
index 1d407fc2..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
+++ /dev/null
@@ -1,302 +0,0 @@
-#define ANIM_CROSS_FADE
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-// 单独一层动画
-public class AnimatorLayerInfo
-{
- public int layer;
-
- public int layerIndex { get { return (int)layer; } }
-
- public string name { get { return m_Animator.GetLayerName(layerIndex); } }
-
- public bool isBaseLayer { get { return layerIndex == 0; } }
-
- private Animator m_Animator;
-
- // 当前动作的animation data,如果是blendtree选第一个动作
- private AnimationData m_AnimationData;
- public AnimationData animationData
- {
- get
- {
- AnimatorClipInfo[] clipInfos = clipsInfo;
- if (clipInfos == null || clipInfos.Length == 0)
- return null;
- var clip = clipInfos[0]; //选第一个
- string folder = m_UnitAnimation.owner.folder;
- string name = clip.clip.name;
- if (m_AnimationData != null && m_AnimationData.animationName == name)
- return m_AnimationData;
- string path = folder + "AnimationData/" + name + ".asset" ; // 要注意这里使用名字区别的,因为最终每个角色的动画都会在一个目录下面
- m_AnimationData = ResourceManager.Instance.LoadAsset<AnimationData>(path);
- return m_AnimationData;
- }
- }
-
- // 当前在播放的动作
- // 如果处于transition中,认为当前状态是transition的目标状态(和Animator规则不一样)
- public AnimatorStateInfo stateInfo
- {
- get
- {
- AnimatorStateInfo stateInfo = m_Animator.GetCurrentAnimatorStateInfo(layerIndex);
- if (isInTransition) // 过渡中的动作认为当前动作是下一个动作
- {
- stateInfo = m_Animator.GetNextAnimatorStateInfo(layerIndex);
- }
- // Debug.Assert(stateInfo.IsName(layerName + "." + m_CurrentState));
- return stateInfo;
- }
- }
-
- private int preStateHash = -1;
-
- // 当前正在播放和融合的片段信息
- public AnimatorClipInfo[] clipsInfo
- {
- get
- {
- AnimatorClipInfo[] clips = null;
- if (!isInTransition)
- {
- clips = m_Animator.GetCurrentAnimatorClipInfo(layerIndex);
- if (clips.Length == 0)
- {
- clips = m_Animator.GetNextAnimatorClipInfo(layerIndex);
- }
- }
- else // 过渡中的动作认为当前动作是下一个动作
- {
- clips = m_Animator.GetNextAnimatorClipInfo(layerIndex);
- }
- return clips;
- }
- }
-
- public AnimatorClipInfo clipInfo
- {
- get
- {
- return clipsInfo[0];
- }
- }
-
- public int stateHash
- {
- get
- {
- return stateInfo.shortNameHash;
- }
- }
-
- // 并非准确的播放时间,只是逻辑时间,因为动画会加速减速
- public float playbackTimeInSeconds
- {
- get
- {
- return playbackNormalizedTime * clipInfo.clip.length;
- }
- }
-
- // 这个是真实世界的时间
- private float m_PlaybackRealTime;
- public float playbackRealTimeInSeconds
- {
- get
- {
- return m_PlaybackRealTime;
- }
- }
-
- // 播放进度百分比,[0-1],是逻辑上的,如果动画不是loop,那么播放完后normalizedTime是1
- public float playbackNormalizedTime
- {
- get
- {
- AnimatorStateInfo state = stateInfo;
- if (!state.loop && state.normalizedTime > 1)
- return 1;
- //if (state.IsName("Attack0"))
- //{
- // Debug.Log("normalizedTime=" + state.normalizedTime);
- // Debug.Log("playbackTimeInSeconds=" + state.normalizedTime * clipInfo.clip.length);
- //}
- return state.normalizedTime % 1f;
- }
- }
-
- public float playbackSpeed
- {
- get
- {
- return m_Animator.GetFloat("PlaybackSpeed" + layerIndex);
- }
- set
- {
- float v = Mathf.Clamp(value, 0, 10);
- m_Animator.SetFloat("PlaybackSpeed" + layerIndex, v);
- }
- }
-
- public float weight
- {
- get
- {
- return m_Animator.GetLayerWeight(layerIndex);
- }
- }
-
- public int nextStateHash
- {
- get
- {
- AnimatorStateInfo nextState = m_Animator.GetNextAnimatorStateInfo(layerIndex);
- int hash = nextState.shortNameHash; // 如果不在过渡中,hash是0
- return hash;
- }
- }
-
- public bool isInTransition
- {
- get
- {
- return m_Animator.IsInTransition(layerIndex);
- }
- }
-
- public bool applySpeedCurve { get; set; }
-
- UnitAnimation m_UnitAnimation;
-
- Coroutine m_CalcPlaybackTimeCoroutine;
-
- TimelineEventProxy m_TimelineEventProxy;
-
- public string m_CurrentState;
-
- public AnimatorLayerInfo(UnitAnimation unitAnimation, Animator animator, int layer)
- {
- this.m_UnitAnimation = unitAnimation;
- this.m_Animator = animator;
- this.layer = layer;
- m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CalcPlaybackRealTimeCoroutine());
- m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner);
- applySpeedCurve = true;
- }
-
- IEnumerator CalcPlaybackRealTimeCoroutine()
- {
- while (true)
- {
- if(preStateHash != stateHash)
- {
- m_PlaybackRealTime = 0;
- }
- m_PlaybackRealTime += Time.deltaTime;
- preStateHash = stateHash;
- yield return null;
- }
- }
-
- public bool IsToggleOpen(EAnimationToogle toggle)
- {
- if (m_AnimationData == null)
- return false;
- return m_AnimationData.IsToggleOpen(toggle, playbackNormalizedTime);
- }
-
- public void OnUpdate()
- {
- // 执行事件
- m_TimelineEventProxy.ExecuteAnimationEvents(animationData, playbackTimeInSeconds * TimelineEventProxy.FPS);
-
- // 播放速度控制
- if (applySpeedCurve && animationData != null && animationData.speedCurve != null)
- {
- playbackSpeed = animationData.speedCurve.Evaluate(playbackNormalizedTime);
- }
- }
-
- public void OnCrossFade(string animState, float normalizedTransitionDuration, float normalizedTimeOffset, float normalizedTransitionTime )
- {
- m_CurrentState = animState;
- m_Animator.CrossFade(animState.ToString(), normalizedTransitionDuration, layerIndex, normalizedTimeOffset, normalizedTransitionTime);
- m_TimelineEventProxy.ResetPrevAnimationData();
-
- playbackSpeed = 1;
- }
-
- public void OnPlay(string animState, float normalizedTime)
- {
- m_CurrentState = animState;
- m_Animator.Play(animState, layerIndex, normalizedTime);
- m_TimelineEventProxy.ResetPrevAnimationData();
-
- playbackSpeed = 1;
- }
-
-}
-
-[DisallowMultipleComponent]
-public class UnitAnimation : UnitComponent
-{
- public AnimatorLayerInfo[] layers { get { return m_LayerInfo; } }
- protected AnimatorLayerInfo[] m_LayerInfo;
-
- public Animator animator { get { return m_Animator; } }
- protected Animator m_Animator;
-
- public virtual AnimatorLayerInfo baseLayer
- {
- get { return layers[0]; }
- }
-
- public bool isInTransition
- {
- get
- {
- return m_Animator.IsInTransition(0);
- }
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
- }
-
- public void Play(string animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity)
- {
- AnimatorLayerInfo layer = this.layers[layerIndex];
- if (layer == null)
- return;
- layer.OnPlay(animState, normalizedTime);
-
- UnitRootMotion rm = m_Owner.GetComponent<UnitRootMotion>();
- if(rm)
- {
- rm.OnAnimationChange();
- }
- }
-
- public void CrossFade(string animState, float normalizedTransitionDuration, int layerIndex = 0, float normalizedTimeOffset = float.NegativeInfinity, float normalizedTransitionTime = 0.0f)
- {
- AnimatorLayerInfo layer = this.layers[layerIndex];
- if (layer == null)
- return;
- layer.OnCrossFade(animState, normalizedTransitionDuration, normalizedTimeOffset, normalizedTransitionTime);
-
- UnitRootMotion rm = m_Owner.GetComponent<UnitRootMotion>();
- if (rm)
- {
- rm.OnAnimationChange();
- }
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs.meta b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs.meta
deleted file mode 100644
index 75ce33fe..00000000
--- a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4af875f33239ebf409f3e4954c0ee0cb
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitBody.cs b/Assets/Scripts/Unit/Components/UnitBody.cs
deleted file mode 100644
index cc7ac348..00000000
--- a/Assets/Scripts/Unit/Components/UnitBody.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class UnitBody : UnitComponent
-{
- public override void Initialize()
- {
- base.Initialize();
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
- }
-
- public override void OnDestroy()
- {
- base.OnDestroy();
- }
-
- public void OnLateAnimatorUpdate()
- {
-
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitBody.cs.meta b/Assets/Scripts/Unit/Components/UnitBody.cs.meta
deleted file mode 100644
index 01a2d416..00000000
--- a/Assets/Scripts/Unit/Components/UnitBody.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d90e40c0e85fa474ba6282bcb5bab16b
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitCollider.cs b/Assets/Scripts/Unit/Components/UnitCollider.cs
deleted file mode 100644
index 3fd9a6dc..00000000
--- a/Assets/Scripts/Unit/Components/UnitCollider.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// 角色当前的碰撞盒
-[DisallowMultipleComponent]
-public class UnitCollider : UnitComponent
-{
- public bool showGizmos;
-
- private Dictionary<int/*hitbox hash*/, List<int/*unitController hash*/>> m_HitMask = new Dictionary<int, List<int>>();
-
- public override void Awake()
- {
- base.Awake();
-
- ColliderRegistry.Instance.AddCollider(this);
- }
-
- public override void OnDestroy()
- {
- ColliderRegistry.Instance.RemoveCollider(this);
-
- base.OnDestroy();
- }
-
- public override void Initialize()
- {
- base.Initialize();
- showGizmos = true;
- }
-
- // 返回当前激活的对应类型的碰撞盒数据
- public ColliderInfo[] GetCurrentBoxesInfoByType(ColliderBox.EColliderType type, int layer = 0)
- {
- var layerInfo = m_Owner.unitAnimation.layers[0];
- AnimationData animData = layerInfo.animationData;
- AnimatorClipInfo[] clipInfos = layerInfo.clipsInfo;
- //if(clipInfos == null || clipInfos.Length == 0)
- //{
- // return null;
- //}
- float playbackTime = layerInfo.playbackNormalizedTime * clipInfos[0].clip.length;
- //float playbackTime = layerInfo.playbackRealTimeInSeconds;
- ColliderInfo[] infos = animData.GetActiveCollidersInfo(type, playbackTime);
- return infos;
- }
-
- // 动作切换,重置collider mask
- public void OnAnimationChange()
- {
- m_HitMask.Clear();
- }
-
- public void RecordCollision(int colliderHash, int targetHash)
- {
- List<int> record;
- if (!m_HitMask.TryGetValue(colliderHash, out record))
- {
- record = new List<int>();
- m_HitMask.Add(colliderHash, record);
- }
- record.Add(targetHash);
- }
-
- public bool CanCollide(int colliderHash, int targetHash)
- {
- List<int> record;
- if(!m_HitMask.TryGetValue(colliderHash, out record))
- {
- return true;
- }
- return !record.Contains(targetHash);
- }
-
-#if UNITY_EDITOR
-
- // 绘制collider调试
- public void OnDrawGizmos()
- {
- if (!showGizmos)
- return;
-
- Vector3 unitPos = m_Owner.transform.position;
-
- OnDrawColliders(ColliderBox.EColliderType.HurtBox, Color.green);
- OnDrawColliders(ColliderBox.EColliderType.HitBox, Color.red);
- }
-
- void OnDrawColliders(ColliderBox.EColliderType type, Color color)
- {
- ColliderInfo[] boxes = GetCurrentBoxesInfoByType(type);
- if (boxes == null || boxes.Length == 0)
- return;
- Vector3 unitPos = m_Owner.transform.position;
- Quaternion right = Quaternion.Euler(0, 0, 0);
- Vector3 fac = new Vector3(1,1, m_Owner.transform.forward.normalized == Vector3.forward ? 1 : -1);
- Color oldC = Gizmos.color;
- Gizmos.color = color * 0.5f;
- for (int i = 0; i < boxes.Length; ++i)
- {
- var box = boxes[i];
- if (!box.isValid)
- continue;
- Vector3 localPos = m_Owner.transform.rotation * box.position;
- Vector3 localSize = box.size;
- var pivot = box.pivot;
- Vector3 pos = Vector3.zero; // gizmo位置
- switch (pivot)
- {
- case ColliderBox.Pivot.MiddleBottom:
- localPos.y += localSize.y / 2;
- break;
- }
- pos = unitPos + Vector3.Scale(localPos, fac);
- Gizmos.DrawCube(pos, localSize);
- }
- Gizmos.color = oldC;
- }
-
-#endif
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitCollider.cs.meta b/Assets/Scripts/Unit/Components/UnitCollider.cs.meta
deleted file mode 100644
index fa98ddc9..00000000
--- a/Assets/Scripts/Unit/Components/UnitCollider.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1a4f3dea33ad590458ab820a086a8be3
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitComponent.cs b/Assets/Scripts/Unit/Components/UnitComponent.cs
deleted file mode 100644
index 825b6d92..00000000
--- a/Assets/Scripts/Unit/Components/UnitComponent.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class UnitComponent : MonoBehaviour
-{
- public UnitController owner { get { return m_Owner; } }
-
- protected UnitController m_Owner;
-
- public bool IsAlive
- {
- get
- {
- return m_Owner != null;
- }
- }
-
- public virtual void Awake()
- {
- }
-
- public virtual void OnDestroy()
- {
- }
-
- public virtual void Initialize()
- {
- m_Owner = GetComponent<UnitController>();
- }
-
- public virtual void OnPostInitialize()
- {
- }
-
- public virtual void Release()
- {
- m_Owner = null;
- StopAllCoroutines();
- }
-
- public virtual void OnUpdate() { }
-
- private void Update() { }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitComponent.cs.meta b/Assets/Scripts/Unit/Components/UnitComponent.cs.meta
deleted file mode 100644
index 2641a06f..00000000
--- a/Assets/Scripts/Unit/Components/UnitComponent.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4c2f1fe7707e5364aab4ddc6a962bb6e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitImageEffect.cs b/Assets/Scripts/Unit/Components/UnitImageEffect.cs
deleted file mode 100644
index fcdd5c1f..00000000
--- a/Assets/Scripts/Unit/Components/UnitImageEffect.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// Unit的一种后处理效果,渲染到一个RT上,对这个RT做效果
-
-public class UnitImageEffectHolder
-{
- public float size;
- public GameObject gameObject;
- public MeshRenderer renderer
- {
- get
- {
- if (gameObject == null)
- return null;
- return gameObject.GetComponent<MeshRenderer>();
- }
- }
-}
-
-public class UnitImageEffectHandle
-{
- public delegate void UnitImageEffectStepCallback(float normalizedTime);
- public delegate void UnitImageEffectEndCallback();
-
- public float lifeTime;
- public float curTime;
- public UnitImageEffectHolder holder;
-
- public UnitImageEffectStepCallback stepFunc;
- public UnitImageEffectEndCallback onStop;
-}
-
-public class UnitImageEffect : UnitComponent
-{
- public List<UnitImageEffectHandle> effects = new List<UnitImageEffectHandle>();
-
- public static GameObject effectPlane;
-
- private Dictionary<float/*size*/, List<UnitImageEffectHolder>/*pool*/> m_HolderPool = new Dictionary<float, List<UnitImageEffectHolder>>();
-
- private ObjectPool<UnitImageEffectHandle> m_HandlePool = new ObjectPool<UnitImageEffectHandle>(null, null);
-
- public override void OnUpdate()
- {
- base.OnUpdate();
- List<UnitImageEffectHandle> temp = ListPool<UnitImageEffectHandle>.Get();
- for(int i = 0; i < effects.Count; ++i)
- {
- var handle = effects[i];
- handle.curTime += Time.deltaTime;
- if(handle.curTime > handle.lifeTime)
- {
- temp.Add(handle);
- handle.onStop?.Invoke();
- continue;
- }
- handle.stepFunc?.Invoke(handle.curTime / handle.lifeTime);
- }
- for(int j = 0; j < temp.Count; j++)
- {
- temp[j].holder.gameObject.SetActive(false);
- ReleaseHolder(ref temp[j].holder);
- effects.Remove(temp[j]);
- m_HandlePool.Release(temp[j]);
- }
- ListPool<UnitImageEffectHandle>.Release(temp);
- }
-
- UnitImageEffectHolder ClaimHolder(float size)
- {
- List<UnitImageEffectHolder> holders;
- if (m_HolderPool.TryGetValue(size, out holders))
- {
- if (holders.Count > 0)
- {
- var holder = holders[holders.Count - 1];
- holders.RemoveAt(holders.Count - 1);
- return holder;
- }
- }
- UnitImageEffectHolder newHolder = new UnitImageEffectHolder();
- newHolder.size = size;
- Mesh mesh = new Mesh();
- mesh.vertices = new Vector3[4] {
- new Vector3(-size/2, size/2, 0),
- new Vector3(size/2, size/2, 0),
- new Vector3(size/2, -size/2, 0),
- new Vector3(-size/2, -size/2, 0)
- };
- mesh.uv = new Vector2[4] {
- new Vector2(0, 1),
- new Vector2(1, 1),
- new Vector2(1, 0),
- new Vector2(0, 0),
- };
- mesh.triangles = new int[6] {
- 0, 1, 3,
- 1, 2, 3,
- };
- mesh.UploadMeshData(true);
- newHolder.gameObject = new GameObject("Image Effect Holder(" + size + "m)");
- MeshFilter filter = newHolder.gameObject.AddComponent<MeshFilter>();
- filter.sharedMesh = mesh;
- MeshRenderer renderer = newHolder.gameObject.AddComponent<MeshRenderer>();
- renderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off;
- renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
- renderer.receiveShadows = false;
- renderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off;
- renderer.motionVectorGenerationMode = MotionVectorGenerationMode.ForceNoMotion;
- renderer.allowOcclusionWhenDynamic = false;
- return newHolder;
- }
-
- void ReleaseHolder(ref UnitImageEffectHolder holder)
- {
- float size = holder.size;
- List<UnitImageEffectHolder> holders;
- if (!m_HolderPool.TryGetValue(size, out holders))
- {
- holders = new List<UnitImageEffectHolder>();
- m_HolderPool.Add(size, holders);
- }
- holder.gameObject.SetActive(false);
- holder.gameObject.transform.position = Vector3.zero;
- holders.Add(holder);
- holder = null;
- }
-
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- public void ShowMotionBlur(float lifeTime, float angle, float distance)
- {
- UnitImageEffectHandle handle = m_HandlePool.Get();
-
- handle.lifeTime = lifeTime;
- handle.curTime = 0;
- float size = UnitManager.Instance.pc.unitDetail.snapshotBound;
- handle.holder = ClaimHolder(size);
- handle.holder.gameObject.SetActive(true);
- string matPath = StaticDefine.imageEffectMaterails[EImageEffectMaterails.MotionBlur];
- handle.holder.renderer.sharedMaterial = ResourceManager.Instance.LoadAsset<Material>(matPath);
-
- MaterialPropertyBlock block = new MaterialPropertyBlock();
- handle.holder.renderer.GetPropertyBlock(block);
- block.SetFloat("_Angle", angle);
- block.SetFloat("_Distance", distance);
- handle.holder.renderer.SetPropertyBlock(block);
-
- handle.stepFunc = (float normalTime) =>
- {
- handle.holder.gameObject.transform.position = UnitManager.Instance.pc.center;
-
- handle.holder.renderer.GetPropertyBlock(block);
- block.SetFloat("_Distance", /*(normalTime) * */distance);
- handle.holder.renderer.SetPropertyBlock(block);
- };
-
- effects.Add(handle);
- }
-
- public void ShowGlitch(float lifeTime, bool hideUnitInMainCamera = true)
- {
- PCController pc = UnitManager.Instance.pc as PCController;
-
- UnitImageEffectHandle handle = m_HandlePool.Get();
-
- handle.lifeTime = lifeTime;
- handle.curTime = 0;
- float size = UnitManager.Instance.pc.unitDetail.snapshotBound;
- handle.holder = ClaimHolder(size);
- handle.holder.gameObject.SetActive(true);
- string matPath = StaticDefine.imageEffectMaterails[EImageEffectMaterails.Glitch];
- handle.holder.renderer.sharedMaterial = ResourceManager.Instance.LoadAsset<Material>(matPath);
-
- MaterialPropertyBlock block = new MaterialPropertyBlock();
- handle.holder.renderer.GetPropertyBlock(block);
- handle.holder.renderer.SetPropertyBlock(block);
-
- handle.stepFunc = (float normalTime) => {
- UnitCamera.Instance.Render();
-
- handle.holder.gameObject.transform.position = UnitManager.Instance.pc.center;
-
- handle.holder.renderer.GetPropertyBlock(block);
- handle.holder.renderer.SetPropertyBlock(block);
- };
-
- if (hideUnitInMainCamera)
- {
- pc.unitRender.SetVisibilityInAllCameras(false);
- }
-
- handle.onStop = () => {
- pc.unitRender.SetVisibilityInAllCameras(true);
- };
-
- effects.Add(handle);
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta b/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta
deleted file mode 100644
index 32f7eebc..00000000
--- a/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: af35b46f81aa698408be0540784f808d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitLensEffect.cs b/Assets/Scripts/Unit/Components/UnitLensEffect.cs
deleted file mode 100644
index e145c331..00000000
--- a/Assets/Scripts/Unit/Components/UnitLensEffect.cs
+++ /dev/null
@@ -1,234 +0,0 @@
-using System;
-using System.Reflection;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Rendering;
-
-// Unit效果之一,镜头效果,通过command buffer实现
-
-public partial class UnitLensEffect : UnitComponent
-{
- private List<RendererProxy> renderers;
-
- private static ObjectPool<CommandBuffer> m_CommandBufferPool;
-
- private List<LensEffectBase> m_Effects;
-
- // 每个角色维护单独的command buffers,而不是共享command buffer。有一定开销,但不重要。
- private Dictionary<ERenderingEvent, CommandBuffer> m_InUseCommandBuffers;
- private Dictionary<ERenderingEvent, CommandBuffer> m_CachedCommandBuffers;
-
- static UnitLensEffect()
- {
- m_CommandBufferPool = new ObjectPool<CommandBuffer>(null, null);
- }
-
- public override void Initialize()
- {
- base.Initialize();
-
- renderers = new List<RendererProxy>();
- m_Effects = new List<LensEffectBase>();
- m_InUseCommandBuffers = new Dictionary<ERenderingEvent, CommandBuffer>();
- m_CachedCommandBuffers = new Dictionary<ERenderingEvent, CommandBuffer>();
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
-
- }
-
- public override void OnPostInitialize()
- {
- base.OnPostInitialize();
-
- IBodyRendererAgent body = owner.unitRender.body;
- if (body == null || body.renderers == null)
- return;
- for (int i = 0; i < body.renderers.Length; ++i)
- {
- var renderer = body.renderers[i];
- if (renderer == null)
- continue;
- RendererProxy proxy = renderer.renderer.gameObject.GetOrAddComponent<RendererProxy>();
- proxy.Initialize(renderer);
- proxy.onWillRenderObject = OnWillRenderObj;
- proxy.onRenderObject = OnRenderObj;
- renderers.Add(proxy);
- }
-
- MainCamera.Instance.customRenderingPipeline.onPreCull += OnWillRenderUnit;
- MainCamera.Instance.customRenderingPipeline.onPostRender += OnRenderUnit;
-
- /////
- //m_Effects.Add(new LensEffect_MotionBlur());
- //m_Effects.Add(new LensEffect_BlurRim(Color.blue));
- //m_Effects.Add(new LensEffect_Buzz());
- }
-
- public override void Release()
- {
- MainCamera.Instance.customRenderingPipeline.onPreCull -= OnWillRenderUnit;
- MainCamera.Instance.customRenderingPipeline.onPostRender -= OnRenderUnit;
-
- base.Release();
- }
-
- private void OnWillRenderUnit()
- {
- if (m_Effects == null || m_Effects.Count == 0)
- return;
-
- PrepareCommandBuffers();
-
- IBodyRendererAgent body = owner.unitRender.body;
- if (body == null || body.renderers == null)
- return;
- if (m_Effects == null || m_Effects.Count == 0)
- return;
- foreach (var cb in m_InUseCommandBuffers)
- {
- cb.Value.Clear();
- ERenderingEvent re = cb.Key;
- CameraEvent ce = re.ToCameraEvent();
- for (int i = 0; i < m_Effects.Count; ++i)
- {
- LensEffectBase eff = m_Effects[i];
- if (!eff.renderingEvents.HasFlag(re))
- continue;
- MethodInfo method = eff.GetType().GetMethod(re.ToString(), BindingFlags.Instance | BindingFlags.Public, null, new Type[] { typeof(LensEffectBase.EStage), typeof(CommandBuffer) }, null);
- if (method == null)
- continue;
- eff.owner = owner;
- method.Invoke(eff, new object[] { LensEffectBase.EStage.BeforeIterate, cb.Value });
-
- // iterate unit renderers
- for (int j = 0; j < body.renderers.Length; ++j)
- {
- var renderer = body.renderers[j];
- if (renderer == null)
- continue;
- eff.curBodypartRenderer = renderer;
- method.Invoke(eff, new object[] { LensEffectBase.EStage.Iterate, cb.Value });
- }
-
- method.Invoke(eff, new object[] { LensEffectBase.EStage.AfterIterate, cb.Value });
- }
- MainCamera.Instance.camera.AddCommandBuffer(ce, cb.Value);
- }
- }
-
- private void OnRenderUnit()
- {
- if (m_Effects == null || m_Effects.Count == 0)
- return;
-
- // 执行每个event的finisher
- foreach (var cb in m_InUseCommandBuffers)
- {
- ERenderingEvent re = cb.Key;
- for (int i = 0; i < m_Effects.Count; ++i)
- {
- LensEffectBase eff = m_Effects[i];
- if (!eff.renderingEvents.HasFlag(re))
- continue;
- MethodInfo method = eff.GetType().GetMethod(re.ToString(), BindingFlags.Instance | BindingFlags.Public, null, new Type[] { typeof(LensEffectBase.EStage), typeof(CommandBuffer) }, null);
- if (method == null)
- continue;
- method.Invoke(eff, new object[] { LensEffectBase.EStage.FinishRender, cb.Value });
- }
- }
-
- List<LensEffectBase> temp = ListPool<LensEffectBase>.Get();
-
- for (int i = 0; i < m_Effects.Count; ++i)
- {
- LensEffectBase eff = m_Effects[i];
- eff.OnRenderFinish();
- if (eff.CanDestroy())
- temp.Add(eff);
- }
-
- for (int i = 0; i < temp.Count; ++i)
- {
- temp[i].OnDestroy();
- m_Effects.Remove(temp[i]);
- }
-
- ListPool<LensEffectBase>.Release(temp);
-
- foreach (var cb in m_InUseCommandBuffers)
- {
- CameraEvent ce = cb.Key.ToCameraEvent();
- MainCamera.Instance.camera.RemoveCommandBuffer(ce, cb.Value);
- }
- }
-
- private void OnWillRenderObj(BodyPartRenderer renderer)
- {
- }
-
- private void OnRenderObj(BodyPartRenderer renderer)
- {
- }
-
- void PrepareCommandBuffers()
- {
- if (m_InUseCommandBuffers.Count != 0)
- {
- var temp = m_CachedCommandBuffers;
- m_CachedCommandBuffers = m_InUseCommandBuffers;
- m_InUseCommandBuffers = temp;
- }
- ERenderingEvent usedEvent = ERenderingEvent.None;
- for (int i = 0; i < m_Effects.Count; ++i)
- {
- usedEvent |= m_Effects[i].renderingEvents;
- }
- foreach (ERenderingEvent evt in Enum.GetValues(typeof(ERenderingEvent)))
- {
- if (evt == ERenderingEvent.None)
- continue;
- if (usedEvent.HasFlag(evt))
- {
- CommandBuffer cb;
- if (m_CachedCommandBuffers.TryGetValue(evt, out cb))
- {
- m_CachedCommandBuffers.Remove(evt);
- }
- else
- {
- cb = m_CommandBufferPool.Get();
- cb.name = evt.ToString();
- }
- m_InUseCommandBuffers.Add(evt, cb);
- }
- }
- foreach (var cb in m_CachedCommandBuffers)
- {
- m_CommandBufferPool.Release(cb.Value);
- }
- m_CachedCommandBuffers.Clear();
- }
-
- static CommandBuffer ClaimCommandBuffer()
- {
- CommandBuffer cb = m_CommandBufferPool.Get();
- cb.Clear();
- return cb;
- }
-
- static void ReleaseCommandBuffer(ref CommandBuffer cb)
- {
- m_CommandBufferPool.Release(cb);
- cb = null;
- }
-
- public void AddEffect(LensEffectBase effect)
- {
- m_Effects.Add(effect);
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitLensEffect.cs.meta b/Assets/Scripts/Unit/Components/UnitLensEffect.cs.meta
deleted file mode 100644
index 5a91ee87..00000000
--- a/Assets/Scripts/Unit/Components/UnitLensEffect.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d2d69fdca26298548ba2c146496c33c3
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs b/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs
deleted file mode 100644
index 31d3c549..00000000
--- a/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using UnityEngine;
-using UnityEngine.Rendering;
-
-public partial class UnitLensEffect : UnitComponent
-{
-
- public void Dash(Color color, float lifeTime, float angle, UnitSnapshotInfo snapshot)
- {
- LensEffect_Dash dash = new LensEffect_Dash(color, lifeTime, angle, snapshot);
- owner.unitLensEffect.AddEffect(dash);
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs.meta b/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs.meta
deleted file mode 100644
index 78ed27ad..00000000
--- a/Assets/Scripts/Unit/Components/UnitLensEffect_Effects.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 16bed6a0d9a62e74987b4e6b5d70403c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitMovement.cs b/Assets/Scripts/Unit/Components/UnitMovement.cs
deleted file mode 100644
index cb1df193..00000000
--- a/Assets/Scripts/Unit/Components/UnitMovement.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class UnitMovement : UnitComponent
-{
-
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitMovement.cs.meta b/Assets/Scripts/Unit/Components/UnitMovement.cs.meta
deleted file mode 100644
index 6978a4bd..00000000
--- a/Assets/Scripts/Unit/Components/UnitMovement.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8a0ce2076d45ed44da0dfc96f277aa36
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitPostEffect.cs b/Assets/Scripts/Unit/Components/UnitPostEffect.cs
deleted file mode 100644
index ad98ff6a..00000000
--- a/Assets/Scripts/Unit/Components/UnitPostEffect.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class UnitPostEffect : UnitComponent
-{
-
- public override void Initialize()
- {
- base.Initialize();
- }
-
-
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitPostEffect.cs.meta b/Assets/Scripts/Unit/Components/UnitPostEffect.cs.meta
deleted file mode 100644
index d91936b9..00000000
--- a/Assets/Scripts/Unit/Components/UnitPostEffect.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a7d49a2074b33d342beb20900188941d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitPreprocessing.cs b/Assets/Scripts/Unit/Components/UnitPreprocessing.cs
deleted file mode 100644
index 8c56f0b6..00000000
--- a/Assets/Scripts/Unit/Components/UnitPreprocessing.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Rendering;
-
-// 给每个角色准备一些特殊的前置渲染
-public class UnitPreprocessing : UnitComponent
-{
- [Flags]
- public enum EUnitPreprocessing
- {
- None,
- DepthTexture, // Unit Depth Texture
- WorldNormalTexture, // Unit World Normal Texture
- }
-
- public EUnitPreprocessing preprocessing;
-
- #region render textures
- public RenderTexture unitDepthTexture { get; private set; }
- public RenderTexture unitWorldNormalTexture { get; private set; }
- public RenderTexture unitMotionVectorTexture { get; private set; }
- #endregion
-
- private CommandBuffer m_CommandBufferBeforeDepth;
-
- private Material m_MaterialDepth;
-
- public override void Initialize()
- {
- base.Initialize();
- }
-
- public override void OnPostInitialize()
- {
- base.OnPostInitialize();
-
- MainCamera.Instance.customRenderingPipeline.onPreCull += OnWillRenderUnit;
- MainCamera.Instance.customRenderingPipeline.onPostRender += OnRenderUnit;
-
- m_CommandBufferBeforeDepth = new CommandBuffer();
- m_CommandBufferBeforeDepth.name = "Unit Preprocessing(" + owner.unitObj.name + ")";
-
- PrepareRenderTextures();
- PrepareMaterials();
- }
-
- void PrepareRenderTextures()
- {
- int unitHash = owner.GetHashCode();
-
- int width = MainCamera.Instance.camera.pixelWidth;
- int height = MainCamera.Instance.camera.pixelHeight;
- unitDepthTexture = new RenderTexture(width, height, 24, RenderTextureFormat.Depth, RenderTextureReadWrite.Linear);
- unitDepthTexture.name = "UnitDepthTexture_" + owner.GetHashCode();
- }
-
- void PrepareMaterials()
- {
- m_MaterialDepth = new Material(Shader.Find(StaticDefine.shaders[EShader.UnitDepth].name));
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
- }
-
- public override void Release()
- {
- MainCamera.Instance.customRenderingPipeline.onPreCull -= OnWillRenderUnit;
- MainCamera.Instance.customRenderingPipeline.onPostRender -= OnRenderUnit;
-
- base.Release();
- }
-
- private void OnWillRenderUnit()
- {
- RenderDepthTexture();
- //RenderWorldNormal();
- RenderMotionVector();
- MainCamera.Instance.camera.AddCommandBuffer(CameraEvent.BeforeDepthTexture, m_CommandBufferBeforeDepth);
- }
-
- void RenderDepthTexture()
- {
- var cb = m_CommandBufferBeforeDepth;
- cb.Clear();
- cb.SetRenderTarget(unitDepthTexture);
- cb.ClearRenderTarget(true, true, new Color(0, 0, 0, 0));
-
- cb.SetGlobalVector("unity_LightShadowBias", Vector4.zero);
-
- foreach (var r in GetRenderers())
- {
- BodyPartRenderer br = r as BodyPartRenderer;
- if (br == null)
- continue;
- Renderer renderer = br.renderer as Renderer;
- if (renderer == null)
- continue;
- cb.DrawRenderer(renderer, m_MaterialDepth);
- }
- }
-
- void RenderMotionVector()
- {
- }
-
- //void RenderWorldNormal()
- //{
- // var cb = m_CommandBufferBeforeDepth;
- // cb.Clear();
- // cb.GetTemporaryRT(unitWorldNormalTextureID, -1, -1, 24, FilterMode.Point, RenderTextureFormat.RG16, RenderTextureReadWrite.Linear);
- // cb.SetRenderTarget(unitWorldNormalTextureID);
- // cb.ClearRenderTarget(true, true, new Color(0, 0, 0, 0));
- //}
-
- IEnumerable GetRenderers()
- {
- IBodyRendererAgent body = owner.unitRender.body;
- if (body == null || body.renderers == null || body.renderers.Length == 0)
- yield break;
- for (int j = 0; j < body.renderers.Length; ++j)
- {
- yield return body.renderers[j];
- }
- }
-
- private void OnRenderUnit()
- {
- //m_CommandBufferBeforeDepth.ReleaseTemporaryRT(unitDepthTextureID);
-
- MainCamera.Instance.camera.RemoveCommandBuffer(CameraEvent.BeforeDepthTexture, m_CommandBufferBeforeDepth);
- }
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitPreprocessing.cs.meta b/Assets/Scripts/Unit/Components/UnitPreprocessing.cs.meta
deleted file mode 100644
index 734df2f2..00000000
--- a/Assets/Scripts/Unit/Components/UnitPreprocessing.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1998e85be970d1541843ff6166f6c771
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitRender.cs b/Assets/Scripts/Unit/Components/UnitRender.cs
deleted file mode 100644
index a5822ffe..00000000
--- a/Assets/Scripts/Unit/Components/UnitRender.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// 角色渲染
-[DisallowMultipleComponent]
-public class UnitRender : UnitComponent
-{
- public IBodyRendererAgent body { get { return m_Body; } }
- private IBodyRendererAgent m_Body;
-
- public Renderer mainRenderer
- {
- get
- {
- if (this.owner.unitDetail == null)
- return null;
- return m_Body.mainRenderer.renderer;
- }
- }
-
- public override void Initialize()
- {
- base.Initialize();
- }
-
- public override void OnPostInitialize()
- {
- base.OnPostInitialize();
- m_Body = owner.unitDetail as IBodyRendererAgent;
- }
-
- public void SetVisibilityInMainCamera(bool isVisible)
- {
- LayerMask mask = LayerMask.GetMask("PlayerCharacter");
- if (!isVisible)
- {
- //SceneManager.Instance.mainCamera.cullingMask &= ~mask.value;
- }
- else
- {
- //SceneManager.Instance.mainCamera.cullingMask |= mask.value;
- }
- }
-
- public void SetVisibilityInAllCameras(bool isVisible)
- {
- if (mainRenderer == null)
- return;
-
- if (isVisible)
- {
- //mainRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
- }
- else
- {
- //mainRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly;
- }
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitRender.cs.meta b/Assets/Scripts/Unit/Components/UnitRender.cs.meta
deleted file mode 100644
index 98aaba31..00000000
--- a/Assets/Scripts/Unit/Components/UnitRender.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8a5b6a015d074924b8a247980bb04693
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitSkill.cs b/Assets/Scripts/Unit/Components/UnitSkill.cs
deleted file mode 100644
index 3e1e480d..00000000
--- a/Assets/Scripts/Unit/Components/UnitSkill.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// 技能逻辑
-[DisallowMultipleComponent]
-
-public class UnitSkill : UnitComponent
-{
-
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitSkill.cs.meta b/Assets/Scripts/Unit/Components/UnitSkill.cs.meta
deleted file mode 100644
index 882bb398..00000000
--- a/Assets/Scripts/Unit/Components/UnitSkill.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d55937c5d88bcc84986d79cd2ec0468b
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState.meta b/Assets/Scripts/Unit/Components/UnitState.meta
deleted file mode 100644
index 7dca0bf1..00000000
--- a/Assets/Scripts/Unit/Components/UnitState.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b9414a0ec8c909c4ebb11b46a7f0819d
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/DroneState.cs b/Assets/Scripts/Unit/Components/UnitState/DroneState.cs
deleted file mode 100644
index 28640664..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/DroneState.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class DroneState : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/Unit/Components/UnitState/DroneState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/DroneState.cs.meta
deleted file mode 100644
index ab3a2898..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/DroneState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a6917bf61e4a31945846081533eb02f4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
deleted file mode 100644
index c2a581b1..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
+++ /dev/null
@@ -1,218 +0,0 @@
-using System;
-using System.Reflection;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class MonsterState : UnitState
-{
- public enum EUnitState
- {
- Nien,
-
- Idle,
-
- Move,
-
- HitLight,
- HitAir,
- HitInAir,
- HitGround,
- HitFall,
- KnockDown,
- Rise,
-
- Pull,
- Landing,
- }
-
- [SerializeField] private EUnitState m_State;
- public EUnitState CurrentState { get { return m_State; } }
-
- UnitAnimation unitAnimation { get { return m_Owner.unitAnimation; } }
-
- public override void Initialize()
- {
- base.Initialize();
- }
-
- public void ChangeState<T>(EUnitState nextState, T param = default, bool bForce = false)
- {
- if (!IsChange(nextState, bForce))
- return;
-
- LogHelper.Log("Monster UnitState: " + m_State.ToString() + " -> " + nextState.ToString());
-
- StopAllCoroutines();
-
- EUnitState prevState = m_State;
- string methodFunc = "On" + m_State.ToString() + "Exit";
- MethodInfo exitMethod = GetType().GetMethod(methodFunc, BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[] { typeof(EUnitState) }, null);
- if (exitMethod != null)
- {
- exitMethod.Invoke(this, new object[] { nextState });
- }
- else
- {
- LogHelper.LogError("缺少 " + methodFunc);
- }
- m_State = nextState;
-
- StartCoroutine(m_State.ToString(), param);
- }
-
- bool IsChange(EUnitState newState, bool bForce)
- {
- if (newState != m_State || bForce)
- return true;
- return false;
- }
-
- IEnumerator Nein() { yield break; }
- void OnNienExit(EUnitState nextState) { }
-
- public struct IdleParam { }
-
- public struct LandingParam { }
-
- public struct HitLightParam { }
-
- public struct HitAirParam { }
-
- public struct RiseParam { }
-
- public struct HitInAirParam { }
-
- #region Idle
-
- IEnumerator Idle(IdleParam param)
- {
- //if (m_Owner.isInAir) // 浮空切换到landing
- //{
- // ChangeState(EUnitState.Landing, new LandingParam());
- //}
- //else // idle
- //{
- m_Owner.SetYPosition(0);
- m_Owner.monsterAnimation.AnimIdle();
- while (true)
- {
- yield return null;
- }
- //}
- }
-
- void OnIdleExit(EUnitState nextState)
- {
- }
- #endregion
-
- #region HitLight
-
- IEnumerator HitLight(HitLightParam param)
- {
- ((MonsterController)owner).FacePC();
- m_Owner.monsterAnimation.AnimHitBackHeavy();
- yield return null;
- while (true)
- {
- bool reachEnd = m_Owner.monsterAnimation.layers[0].playbackNormalizedTime == 1;
- if(reachEnd)
- {
- ChangeState(EUnitState.Idle, new IdleParam());
- }
- yield return null;
- }
- }
-
- void OnHitLightExit(EUnitState nextState)
- {
- }
-
- #endregion
-
- #region HitAir
-
- IEnumerator HitAir(HitAirParam param)
- {
- ((MonsterController)owner).FacePC();
- m_Owner.monsterAnimation.AnimHitAir();
- yield return null;
- while (true)
- {
- bool reachEnd = m_Owner.monsterAnimation.layers[0].playbackNormalizedTime == 1;
- if (reachEnd)
- {
- //yield return new WaitForSeconds(1f);
- ChangeState(EUnitState.Rise, new RiseParam());
- }
- yield return null;
- }
- }
-
- void OnHitAirExit(EUnitState nextState)
- {
- }
-
- #endregion
-
- #region HitInAir
-
- IEnumerator HitInAir(HitInAirParam param)
- {
- ((MonsterController)owner).FaceToFacePC();
- m_Owner.monsterAnimation.AnimHitInAir();
- yield return null;
- float vy = -1f;
- float g = -15.8f;
- while (true)
- {
- bool reachEnd = m_Owner.monsterAnimation.baseLayer.playbackNormalizedTime == 1;
- if (reachEnd)
- {
- vy += g * Time.deltaTime;
- Vector3 pos = owner.transform.position;
- pos.y += vy * Time.deltaTime;
- if(pos.y <= 0)
- {
- yield return new WaitForSeconds(0.5f);
- ChangeState(EUnitState.Rise, new RiseParam());
- }
- owner.transform.position = pos;
- }
- yield return null;
- }
- }
-
- void OnHitInAirExit(EUnitState nextState)
- {
- }
-
- #endregion
-
- #region Rise
-
- IEnumerator Rise(RiseParam param)
- {
- m_Owner.monsterAnimation.AnimRise();
- yield return null;
- while (true)
- {
- bool reachEnd = m_Owner.monsterAnimation.layers[0].playbackNormalizedTime == 1;
- if (reachEnd)
- {
- ChangeState(EUnitState.Idle, new IdleParam());
- }
- yield return null;
- }
- }
-
- void OnRiseExit(EUnitState nextState)
- {
- }
-
-
- #endregion
-
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs.meta
deleted file mode 100644
index 7d60499f..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: b7b1805198282374fbc67108671f8a72
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
deleted file mode 100644
index 6a326431..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs
+++ /dev/null
@@ -1,186 +0,0 @@
-using System;
-using System.Reflection;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// 角色状态机
-[DisallowMultipleComponent]
-public partial class PCState : UnitState
-{
- public enum EUnitState
- {
- Nien,
-
- Idle,
- Move,
- Spawn,
- Die,
- Dead,
- //
- Attack,
- AirAttack,
- AttackToAir,
- AirDash,
- //
- HitAir,
- HitAirHit,
- Knockdown,
- //
- HitGuard,
- //
- Walk,
- //
- Rise,
- //
- Jump,
- // 转身
- Turn,
- Landing, // 从空中降落
- }
-
- [SerializeField] private EUnitState m_State;
- public EUnitState CurrentState { get { return m_State; } }
-
- private EUnitState m_PrevState;
-
- public override void Initialize()
- {
- base.Initialize();
- owner.onTimelineEvent += OnTimeLineEvent;
- }
-
- public override void Release()
- {
- owner.onTimelineEvent -= OnTimeLineEvent;
- base.Release();
- }
-
- PCAnimation pcAnimation { get { return m_Owner.pcAnimation; } }
-
- public void ChangeState<T>(EUnitState nextState, T param = default, bool bForce = false)
- {
- if (!IsChange(nextState, bForce))
- return;
-
- LogHelper.Log("UnitState: " + m_State.ToString() + " -> " + nextState.ToString());
-
- StopAllCoroutines();
-
- string methodFunc = "On" + m_State.ToString() + "Exit";
- MethodInfo exitMethod = GetType().GetMethod(methodFunc, BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[] { typeof(EUnitState) }, null);
- if (exitMethod != null)
- {
- exitMethod.Invoke(this, new object[] { nextState });
- }
- else
- {
- LogHelper.LogError("缺少 " + methodFunc);
- }
- m_PrevState = m_State;
- m_State = nextState;
-
- if(m_PrevState != m_State && owner.unitRender != null)
- {
- // owner.unitRender.SetVisibilityInMainCamera(true);
- }
-
- StartCoroutine(m_State.ToString(), param);
- }
-
- bool IsChange(EUnitState newState, bool bForce)
- {
- if (newState != m_State || bForce)
- return true;
- return false;
- }
-
- public void TurnAround(bool bRight)
- {
- m_Owner.transform.rotation = Quaternion.Euler(0, bRight ? 0 : 180, 0);
- }
-
- public void TurnLeft()
- {
- TurnAround(false);
- }
-
- public void TurnRight()
- {
- TurnAround(true);
- }
-
- void TryDash()
- {
- if (InputManager.Instance.TryCommand(0.5f, KeyCode.A, KeyCode.A))
- {
- TurnLeft();
- ChangeState(EUnitState.AirDash, new AirDashParam(), true);
- }
- if (InputManager.Instance.TryCommand(0.5f, KeyCode.D, KeyCode.D))
- {
- TurnRight();
- ChangeState(EUnitState.AirDash, new AirDashParam(), true);
- }
- }
-
- void TryTurnAround()
- {
- if (Input.GetKey("a"))
- {
- TurnLeft();
- }
- if (Input.GetKey("d"))
- {
- TurnRight();
- }
- }
-
- bool TryTeleport()
- {
- if (Input.GetKeyDown("i"))
- {
- float offset = owner.isTowardRight ? 1.5f : -1.5f;
-
- Vector3 targetPos = TestErika.Instance.monster.owner.center + new Vector3(offset, -0.5f, 0);
- targetPos.y = Mathf.Max(1, targetPos.y);
-
- UnitSnapshotInfo info = owner.TakeSnapshot();
- Vector2 dir = targetPos - owner.center;
- owner.unitLensEffect.Dash(Color.white, 0.1f, Mathf.Rad2Deg * Mathf.Atan2(dir.y, dir.x), info);
-
- owner.center = targetPos;
- TurnAround(!owner.isTowardRight);
- return true;
- }
- return false;
- }
-
- bool TryBlink()
- {
- return false;
- }
-
- bool TryTianyin()
- {
- if (Input.GetKeyDown("o"))
- {
- float offset = owner.isTowardRight ? 1.2f : -1.2f;
- TestErika.Instance.monster.owner.center = owner.center + new Vector3(offset, 0.5f, 0);
- ((MonsterController)TestErika.Instance.monster.owner).monsterState.ChangeState(MonsterState.EUnitState.HitInAir, new MonsterState.HitInAirParam(), true);
- return true;
- }
- return false;
- }
-
- bool TryAttackToAir()
- {
- if(Input.GetKey("w") && Input.GetKeyDown("j"))
- {
- ChangeState(EUnitState.AttackToAir, new SkillParam());
- return true;
- }
- return false;
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/PCState.cs.meta
deleted file mode 100644
index 548a0a91..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 9a888cbca17562d4dbea1f28fd4dcbab
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs b/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs
deleted file mode 100644
index 73c65a0c..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public partial class PCState : UnitState
-{
-
-
- void OnTimeLineEvent(AnimationEventBase animEvent)
- {
- if(animEvent is EventUnit_SetPosition)
- {
- EventUnit_SetPosition setPos = animEvent as EventUnit_SetPosition;
- Vector3 pos = owner.transform.position;
- if(setPos.setY)
- {
- pos.y = setPos.y;
- }
- owner.transform.position = pos;
- }
-
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs.meta b/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs.meta
deleted file mode 100644
index 7dc2d927..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState_Event.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 760f104e062ae884d809b7fc80b041b4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
deleted file mode 100644
index 738cc7ce..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
+++ /dev/null
@@ -1,390 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public partial class PCState : UnitState
-{
-
- #region state param
- public struct IdleParam { }
-
- public struct MoveParam
- {
- public bool isRight;
- public string key;
- }
-
- public struct SkillParam
- {
- public float offset;
- }
-
- public struct AirDashParam
- {
-
- }
-
- public struct JumpParam
- { }
-
- public struct TurnParam
- {
- EUnitState nextState;
- }
-
- public struct LandingParam { }
-
- #endregion
-
- IEnumerator Nein() { yield break; }
- void OnNienExit(EUnitState nextState) { }
-
- #region Idle
-
- IEnumerator Idle(IdleParam param)
- {
- m_Owner.pcAnimation.AnimIdle();
- yield return new WaitForTransitionDone(owner.unitAnimation);
- m_Owner.SetYPosition(0);
- while (true)
- {
- if(TryAttackToAir())
- {
- yield break;
- }
- if (Input.GetKeyDown("j"))
- {
- ChangeState(EUnitState.Attack, new SkillParam());
- yield break;
- }
- if (Input.GetKeyDown("space"))
- {
- ChangeState(EUnitState.Jump, new JumpParam());
- yield break;
- }
- if (Input.GetKey("d"))
- {
- MoveParam move = new MoveParam();
- move.isRight = true;
- move.key = "d";
- ChangeState(EUnitState.Move, move);
- yield break;
- }
- if (Input.GetKey("a"))
- {
- MoveParam move = new MoveParam();
- move.isRight = false;
- move.key = "a";
- ChangeState(EUnitState.Move, move);
- yield break;
- }
- yield return null;
- }
- }
-
- void OnIdleExit(EUnitState nextState)
- {
- }
- #endregion
-
- #region Move
- IEnumerator Move(MoveParam param)
- {
- if (m_Owner.isTowardRight && !param.isRight
- || !m_Owner.isTowardRight && param.isRight)
- {
- //m_Owner.pcAnimation.Play(UnitAnimation.EAnimState.Turn);
- //yield return new WaitForActionReachEnd(m_Owner.pcAnimation);
- //if (param.isRight)
- // m_Owner.transform.rotation = Quaternion.Euler(0, 0, 0);
- //else
- // m_Owner.transform.rotation = Quaternion.Euler(0, 180, 0);
- m_Owner.transform.rotation = Quaternion.Euler(0, param.isRight ? 0 : 180, 0);
- }
- //if (Input.GetKey(param.key))
- m_Owner.pcAnimation.AnimMove();
- while (Input.GetKey(param.key))
- {
- TryAttackToAir();
- yield return null;
- }
- ChangeState(EUnitState.Idle, new IdleParam());
- }
-
- void OnMoveExit(EUnitState nextState)
- {
- m_Owner.pcAnimation.animator.ResetTrigger("ToMove");
- }
-
- #endregion
-
- #region Attack
-
- IEnumerator Attack(SkillParam param)
- {
- const int total = 4;
- int id = 0;
- m_Owner.pcAnimation.AnimAttack(id++);
- yield return null;
- while (true)
- {
- if (isComboOpen)
- {
- //if (InputManager.Instance.TryCommand(0.5f, KeyCode.W, KeyCode.J))
- if (Input.GetKeyDown("u"))
- {
- SkillParam skill = new SkillParam();
- skill.offset = 0.12f;
- ChangeState(EUnitState.AttackToAir, skill);
- }
- }
-
- if (isComboOpen && id < total)
- {
- if (Input.GetKeyDown("j"))
- {
- TryTurnAround();
-
- m_Owner.pcAnimation.AnimAttack(id++);
- yield return null;
- yield return new WaitForTransitionDone(m_Owner.pcAnimation);
- }
- }
-
- if (isAnimationReachEnd)
- {
- ChangeState(EUnitState.Idle, new IdleParam());
- }
-
- yield return null;
- }
- }
-
- void OnAttackExit(EUnitState next)
- {
- }
-
- #endregion
-
- #region AttackToAir
-
- IEnumerator AttackToAir(SkillParam param)
- {
- m_Owner.pcAnimation.AnimAttackToAir(param.offset);
- yield return null;
- InputManager.Instance.ClearCommand();
- while (true)
- {
- TryTianyin();
-
- if (isComboOpen)
- {
- TryDash();
-
- if (InputManager.Instance.TryCommand(0.5f, false, KeyCode.J))
- {
- ChangeState(EUnitState.AirAttack, new SkillParam());
- }
- }
-
- if (isAnimationReachEnd || isAnimationReachEndPoint)
- {
- ChangeState(EUnitState.Landing, new LandingParam());
- }
- yield return null;
- }
- }
-
- void OnAttackToAirExit(EUnitState next)
- {
- }
-
- #endregion
-
- #region AirAttack
-
- IEnumerator AirAttack(SkillParam param)
- {
- int total = 5;
- int id = 0;
- m_Owner.pcAnimation.AnimAirAttack(id++);
- yield return null;
- InputManager.Instance.ClearCommand();
- while (true)
- {
- if (TryTeleport())
- {
- }
-
- TryTianyin();
-
- if (isComboOpen)
- {
- TryDash();
-
- if (InputManager.Instance.TryCommand(0.3f, false, KeyCode.J))
- {
- TryTurnAround();
-
- m_Owner.pcAnimation.AnimAirAttack(id++);
- id %= total;
- yield return null; // 等待animator更新
- yield return new WaitForTransitionDone(m_Owner.pcAnimation);
- }
- }
-
- if (isAnimationReachEnd)
- {
- ChangeState(EUnitState.Landing, new LandingParam());
- }
-
- yield return null;
- }
- }
-
- void OnAirAttackExit(EUnitState next)
- {
-
- }
-
- #endregion
-
- #region AirDash
-
- IEnumerator AirDash(AirDashParam param)
- {
- m_Owner.pcAnimation.AnimAirDash();
- yield return null;
- while (true)
- {
- if (isAnimationReachEnd)
- {
- ChangeState(EUnitState.Landing, new LandingParam());
- }
-
- TryTianyin();
-
- if (isComboOpen)
- {
- TryDash();
-
- if (Input.GetKeyDown("j"))
- {
- TryTurnAround();
- ChangeState(EUnitState.AirAttack, new SkillParam());
- }
- }
-
- yield return null;
- }
- }
-
- void OnAirDashExit(EUnitState next)
- {
- }
-
- #endregion
-
- #region Jump
-
- IEnumerator Jump(JumpParam param)
- {
- pcAnimation.AnimJump();
- yield return null;
- yield return new WaitForTransitionDone(pcAnimation);
- while (true)
- {
- if (InputManager.Instance.TryCommand(0.5f, KeyCode.A, KeyCode.A))
- {
- TurnLeft();
- ChangeState(EUnitState.AirDash, new AirDashParam());
- }
- if (InputManager.Instance.TryCommand(0.5f, KeyCode.D, KeyCode.D))
- {
- TurnRight();
- ChangeState(EUnitState.AirDash, new AirDashParam());
- }
- if (isAnimationReachEnd)
- ChangeState(EUnitState.Landing, new LandingParam());
- bool canAttack = m_Owner.pcAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
- if (Input.GetKeyDown("j") && canAttack)
- {
- ChangeState(EUnitState.AirAttack, new SkillParam());
- }
- yield return null;
- }
- }
-
- void OnJumpExit(EUnitState next)
- {
- }
-
- #endregion
-
- #region Landing
-
- IEnumerator Landing(LandingParam param)
- {
- m_Owner.pcAnimation.AnimLanding();
- yield return null;
- yield return new WaitForTransitionDone(m_Owner.pcAnimation);
- float vy = 0;
- float g = -9.8f;
- bool landingGround = false;
- float vx = 5;
- while (true)
- {
- Vector3 pos = m_Owner.transform.position;
-
- if(!landingGround)
- {
- vy += g * Time.deltaTime;
- pos.y += vy * Time.deltaTime;
- pos.y = Mathf.Max(0, pos.y);
- }
-
- TryDash();
-
- TryTianyin();
-
- if (Input.GetKey("a"))
- {
- TurnAround(false);
- pos.x -= vx * Time.deltaTime;
- }
- if (Input.GetKey("d"))
- {
- TurnAround(true);
- pos.x += vx * Time.deltaTime;
- }
-
- if (Input.GetKeyDown("j"))
- {
- ChangeState(EUnitState.AirAttack, new SkillParam());
- }
-
- m_Owner.transform.position = pos;
-
- if (pos.y > 0 && pos.y <= 1 && !landingGround)
- {
- landingGround = true;
- m_Owner.pcAnimation.AnimLandingGround();
- }
- if (pos.y <= 0)
- {
- pos.y = 0;
- m_Owner.transform.position = pos;
- ChangeState(EUnitState.Idle, new IdleParam());
- }
-
- yield return null;
- }
- }
-
- void OnLandingExit(EUnitState next)
- {
- }
-
- #endregion
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs.meta b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs.meta
deleted file mode 100644
index e314f21e..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: bfcb25f32c442a5429ab4d0603b9df67
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/PropState.cs b/Assets/Scripts/Unit/Components/UnitState/PropState.cs
deleted file mode 100644
index 86b95e38..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PropState.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class PropState : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/Unit/Components/UnitState/PropState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/PropState.cs.meta
deleted file mode 100644
index db5dd78f..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/PropState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 96148351ded87a247bbdf39d56eb592e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/RobotState.cs b/Assets/Scripts/Unit/Components/UnitState/RobotState.cs
deleted file mode 100644
index 68a11135..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/RobotState.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class RobotState : MonoBehaviour
-{
- // Start is called before the first frame update
- void Start()
- {
-
- }
-
- // Update is called once per frame
- void Update()
- {
-
- }
-}
diff --git a/Assets/Scripts/Unit/Components/UnitState/RobotState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/RobotState.cs.meta
deleted file mode 100644
index ef3ef469..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/RobotState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 12346a9b76519ab4098b11da90589040
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs b/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
deleted file mode 100644
index ff42c2be..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using System.Reflection;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-// 角色状态机
-[DisallowMultipleComponent]
-public class UnitState : UnitComponent
-{
-
- public virtual bool isAnimationReachEnd
- {
- get
- {
- return owner.unitAnimation.baseLayer.playbackNormalizedTime == 1;
- }
- }
-
- // 如果设置了endpoint属性,检查是否到了endpoint
- public virtual bool isAnimationReachEndPoint
- {
- get
- {
- var layer = owner.unitAnimation.baseLayer;
- if (!layer.animationData.HasProperty(EAnimationProperty.Endpoint))
- return false;
- return layer.playbackNormalizedTime >= layer.animationData.GetProperty(EAnimationProperty.Endpoint);
- }
- }
-
- public virtual bool isComboOpen
- {
- get
- {
- return owner.unitAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
- }
- }
-
-} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs.meta b/Assets/Scripts/Unit/Components/UnitState/UnitState.cs.meta
deleted file mode 100644
index 781994dc..00000000
--- a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: e5c9c1db07e3c734ebf185f14cc7356a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: