summaryrefslogtreecommitdiff
path: root/Assets/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/Test 1/TestErika.cs3
-rw-r--r--Assets/Scripts/Unit/AnimationData.cs1
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs8
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs9
-rw-r--r--Assets/Scripts/Unit/TimelineEventProxy.cs3
5 files changed, 16 insertions, 8 deletions
diff --git a/Assets/Scripts/Test 1/TestErika.cs b/Assets/Scripts/Test 1/TestErika.cs
index cb40b103..81bdbdd3 100644
--- a/Assets/Scripts/Test 1/TestErika.cs
+++ b/Assets/Scripts/Test 1/TestErika.cs
@@ -41,7 +41,8 @@ public class TestErika : MonoBehaviour
erika.unitController.transform.rotation = Quaternion.identity;
erika.unit = GameObject.Instantiate(erika.unitPrefab);
- erika.unit.transform.rotation = Quaternion.Euler(0, 90, 0);
+ erika.unit.transform.position = Vector3.zero;
+ erika.unit.transform.rotation = Quaternion.Euler(0, 90, 0);
erika.unit.transform.SetParent(erika.unitController.transform);
UnitController unitCtr = erika.unitController.GetOrAddComponent<UnitController>();
diff --git a/Assets/Scripts/Unit/AnimationData.cs b/Assets/Scripts/Unit/AnimationData.cs
index 84b75f47..ead0f16d 100644
--- a/Assets/Scripts/Unit/AnimationData.cs
+++ b/Assets/Scripts/Unit/AnimationData.cs
@@ -80,6 +80,7 @@ public enum EAnimationProperty
{
ComboTimeOffset = 1,
IgnoreY = 2,
+ TransitionInDuration = 3,
}
[Serializable]
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
index df074061..cdffc8ed 100644
--- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
+++ b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs
@@ -57,8 +57,9 @@ public class PCAnimation : UnitAnimation
AirAttack1,
AirAttack2,
AirAttack3,
+ AirAttack4,
- AirDash,
+ AirDash,
LandingGround,
}
@@ -182,10 +183,13 @@ public class PCAnimation : UnitAnimation
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 = GetAnimationDataOfGivenState(state.ToString());
Debug.Assert(data != null);
- CrossFade(state, 0.02f, data.GetProperty(EAnimationProperty.ComboTimeOffset, defaultValue: 0));
+ float offset = data.GetProperty(EAnimationProperty.ComboTimeOffset, 0);
+ float duration = data.GetProperty(EAnimationProperty.TransitionInDuration, 0.05f);
+ CrossFade(state, duration, offset);
}
public void AnimAttackToAir(float offset)
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
index 1d0332cd..b8512d64 100644
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
@@ -308,8 +308,9 @@ public class PCState : UnitState
IEnumerator AirAttack(SkillParam param)
{
- int id = 0;
- m_Owner.pcAnimation.AnimAirAttack(id);
+ int total = 5;
+ int id = 0;
+ m_Owner.pcAnimation.AnimAirAttack(id++);
yield return null; // 等待animator更新
while (true)
{
@@ -337,8 +338,8 @@ public class PCState : UnitState
{
TurnAround(true);
}
- ++id;
- m_Owner.pcAnimation.AnimAirAttack(id);
+ m_Owner.pcAnimation.AnimAirAttack(id++);
+ id %= total;
yield return null; // 等待animator更新
yield return new WaitForTransitionDone(m_Owner.pcAnimation);
}
diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs
index a8918e39..10dae57d 100644
--- a/Assets/Scripts/Unit/TimelineEventProxy.cs
+++ b/Assets/Scripts/Unit/TimelineEventProxy.cs
@@ -172,7 +172,8 @@ public partial class TimelineEventProxy
if(owner != null)
{
Quaternion rot = owner.transform.rotation * Quaternion.Euler(effect.rotation);
- onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, rot.eulerAngles, effect.scale, 0, false));
+ Debug.Log(effect.rotation);
+ onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false));
}
else
{