summaryrefslogtreecommitdiff
path: root/Assets/Scripts
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-08 19:18:57 +0800
committerchai <chaifix@163.com>2021-09-08 19:18:57 +0800
commit2fa67922f08ef39b4d70bad001592aedf22c9018 (patch)
tree5945b091a2651b8350760bdf532e93fcddc96016 /Assets/Scripts
parent55d289f8eff1af2d2a2ff02c878faa354dcf6c91 (diff)
*misc
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/Unit/AI.meta8
-rw-r--r--Assets/Scripts/Unit/AI/Actions.meta8
-rw-r--r--Assets/Scripts/Unit/AI/Conditionals.meta8
-rw-r--r--Assets/Scripts/Unit/Collider/CollisionSystem.cs2
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs29
-rw-r--r--Assets/Scripts/Unit/Components/UnitCollider.cs2
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/MonsterState.cs1
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs64
-rw-r--r--Assets/Scripts/Unit/UnitRootMotion.cs5
9 files changed, 105 insertions, 22 deletions
diff --git a/Assets/Scripts/Unit/AI.meta b/Assets/Scripts/Unit/AI.meta
new file mode 100644
index 00000000..e64e1ff9
--- /dev/null
+++ b/Assets/Scripts/Unit/AI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5167b72d3e56949419ac4e7b10def160
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Unit/AI/Actions.meta b/Assets/Scripts/Unit/AI/Actions.meta
new file mode 100644
index 00000000..9b4ad463
--- /dev/null
+++ b/Assets/Scripts/Unit/AI/Actions.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 971e9d55b8bc0894eb6a110fb962000b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Unit/AI/Conditionals.meta b/Assets/Scripts/Unit/AI/Conditionals.meta
new file mode 100644
index 00000000..70a86da5
--- /dev/null
+++ b/Assets/Scripts/Unit/AI/Conditionals.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85b7e0c7ed1d12f42a5178bfbf3d934c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Collider/CollisionSystem.cs b/Assets/Scripts/Unit/Collider/CollisionSystem.cs
index 4a73446f..83052073 100644
--- a/Assets/Scripts/Unit/Collider/CollisionSystem.cs
+++ b/Assets/Scripts/Unit/Collider/CollisionSystem.cs
@@ -205,7 +205,7 @@ public static class ColliderUtility
Vector3 fac = new Vector3(1, 1, collider.unitCollider.owner.transform.forward.normalized == Vector3.forward ? 1 : -1);
Vector3 unitPos = collider.unitCollider.owner.transform.position;
Vector3 pos = Vector3.zero; // gizmo位置
- Vector3 localPos = collider.colliderInfo.position;
+ Vector3 localPos = collider.unitCollider.owner.transform.rotation * collider.colliderInfo.position;
Vector3 localSize = collider.colliderInfo.size;
var pivot = collider.colliderInfo.pivot;
switch (pivot)
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
index 8d737277..ac2649b7 100644
--- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
+++ b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
@@ -46,17 +46,19 @@ public class PCAnimation : UnitAnimation
Turn,
Landing,
- AirAttack0,
- AirAttack1,
- AirAttack2,
- AirAttack3,
-
Attack0,
Attack1,
Attack2,
- Attack3,
-
- AirDash,
+ Attack3,
+
+ AttackToAir,
+
+ AirAttack0,
+ AirAttack1,
+ AirAttack2,
+ AirAttack3,
+
+ AirDash,
LandingGround,
}
@@ -174,7 +176,14 @@ public class PCAnimation : UnitAnimation
}
}
- public void AnimAttack(int id)
+ public void AnimAttackToAir(float offset)
+ {
+ m_Owner.unitCollider.OnAnimationChange();
+ Play(EAnimState.AttackToAir, offset);
+ }
+
+
+ public void AnimAttack(int id)
{
m_Owner.unitCollider.OnAnimationChange();
switch (id)
@@ -216,7 +225,7 @@ public class PCAnimation : UnitAnimation
CrossFade(EAnimState.LandingGround, 0.00f);
}
- private void Play(EAnimState animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity)
+ private void Play(EAnimState animState, float normalizedTime = float.NegativeInfinity, int layerIndex = 0)
{
base.Play(animState.ToString(), layerIndex, normalizedTime);
}
diff --git a/Assets/Scripts/Unit/Components/UnitCollider.cs b/Assets/Scripts/Unit/Components/UnitCollider.cs
index 797eb480..3fd9a6dc 100644
--- a/Assets/Scripts/Unit/Components/UnitCollider.cs
+++ b/Assets/Scripts/Unit/Components/UnitCollider.cs
@@ -102,7 +102,7 @@ public class UnitCollider : UnitComponent
var box = boxes[i];
if (!box.isValid)
continue;
- Vector3 localPos = box.position;
+ Vector3 localPos = m_Owner.transform.rotation * box.position;
Vector3 localSize = box.size;
var pivot = box.pivot;
Vector3 pos = Vector3.zero; // gizmo位置
diff --git a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
index 1dba2b7d..db68493b 100644
--- a/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/MonsterState.cs
@@ -132,6 +132,7 @@ public class MonsterState : UnitState
IEnumerator HitAir(HitAirParam param)
{
+ ((MonsterController)owner).FacePC();
m_Owner.monsterAnimation.AnimHitAir();
yield return null;
while (true)
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
index e448b6b2..c8937895 100644
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
@@ -20,6 +20,7 @@ public class PCState : UnitState
//
Attack,
AirAttack,
+ AttackToAir,
AirDash,
//
HitAir,
@@ -66,7 +67,7 @@ public class PCState : UnitState
public struct SkillParam
{
-
+ public float offset;
}
public struct AirDashParam
@@ -153,7 +154,11 @@ public class PCState : UnitState
{
ChangeState(EUnitState.Attack, new SkillParam());
}
- if (Input.GetKeyDown("space"))
+ if(Input.GetKeyDown("u"))
+ {
+ ChangeState(EUnitState.AttackToAir, new SkillParam());
+ }
+ if (Input.GetKeyDown("space"))
{
ChangeState(EUnitState.Jump, new JumpParam());
}
@@ -221,8 +226,19 @@ public class PCState : UnitState
yield return null;
while (true)
{
- bool canCombo = m_Owner.pcAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
- if (canCombo && id < total)
+ bool canCombo = m_Owner.pcAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
+ if (canCombo)
+ {
+ //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 (canCombo && id < total)
{
if (Input.GetKeyDown("j"))
{
@@ -252,12 +268,44 @@ public class PCState : UnitState
void OnAttackExit(EUnitState next)
{
- }
-
+ }
+
#endregion
-
+
+ #region AttackToAir
+
+ IEnumerator AttackToAir(SkillParam param)
+ {
+ m_Owner.pcAnimation.AnimAttackToAir(param.offset);
+ yield return null;
+ while (true)
+ {
+ bool canCombo = m_Owner.pcAnimation.baseLayer.IsToggleOpen(EAnimationToogle.Combo);
+ if(canCombo)
+ {
+ if(Input.GetKeyDown("j"))
+ {
+ ChangeState(EUnitState.AirAttack, new SkillParam());
+ }
+ }
+
+ bool reachEnd = m_Owner.pcAnimation.baseLayer.playbackNormalizedTime == 1;
+ if (reachEnd)
+ {
+ ChangeState(EUnitState.Landing, new LandingParam());
+ }
+ yield return null;
+ }
+ }
+
+ void OnAttackToAirExit()
+ {
+ }
+
+ #endregion
+
#region AirAttack
-
+
IEnumerator AirAttack(SkillParam param)
{
int id = 0;
diff --git a/Assets/Scripts/Unit/UnitRootMotion.cs b/Assets/Scripts/Unit/UnitRootMotion.cs
index 5a17da61..caf59d7c 100644
--- a/Assets/Scripts/Unit/UnitRootMotion.cs
+++ b/Assets/Scripts/Unit/UnitRootMotion.cs
@@ -94,7 +94,8 @@ public class UnitRootMotion : UnitComponent
m_PrevFrame = frame;
}
Vector3 dest = rmData.GetRootMotionDistance(m_PrevFrame, frame);
- m_Owner.transform.position += dest;
+ Vector3 realDest = m_Owner.transform.rotation * dest;
+ m_Owner.transform.position += realDest;
m_PrevFrame = frame;
}
else
@@ -114,4 +115,4 @@ public class UnitRootMotion : UnitComponent
#endif
-}
+} \ No newline at end of file