From 45d3d873a7740886fa09f35c9fea2830f4563072 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:04:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version
---
Main/System/Battle/Motion/MotionBase.cs | 40 ++++++++++++++++++++--------------------
1 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/Main/System/Battle/Motion/MotionBase.cs b/Main/System/Battle/Motion/MotionBase.cs
index d29a15d..ce84ec0 100644
--- a/Main/System/Battle/Motion/MotionBase.cs
+++ b/Main/System/Battle/Motion/MotionBase.cs
@@ -160,7 +160,7 @@
return true;
}
- public Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillBase skillBase, bool isSubSkill, Action onComplete = null)
+ public Spine.TrackEntry PlaySkillAnimation(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, bool isSubSkill, Action onComplete = null)
{
if (skillConfig == null)
{
@@ -174,35 +174,35 @@
}
// 濡傛灉娌℃湁鍔ㄧ敾鍚嶇О锛屼娇鐢ㄦ棤鍔ㄧ敾妯″紡
- if (string.IsNullOrEmpty(skillConfig.SkillMotionName))
+ if (string.IsNullOrEmpty(skillSkinConfig.SkillMotionName))
{
- PlaySkillNoAnim(skillConfig, skillBase, onComplete, isSubSkill);
+ PlaySkillNoAnim(skillConfig, skillSkinConfig, skillBase, onComplete, isSubSkill);
return null;
}
- Spine.Animation targetAnim = FindAnim(skillConfig.SkillMotionName);
+ Spine.Animation targetAnim = FindAnim(skillSkinConfig.SkillMotionName);
if (targetAnim == null)
{
skillBase.ForceFinished();
return null;
}
- return ExecuteSkillAnim(skillConfig, skillBase, onComplete, targetAnim, true, isSubSkill);
+ return ExecuteSkillAnim(skillConfig, skillSkinConfig, skillBase, onComplete, targetAnim, true, isSubSkill);
}
- private Spine.TrackEntry ExecuteSkillAnim(SkillConfig skillConfig, SkillBase skillBase, Action onComplete,
+ private Spine.TrackEntry ExecuteSkillAnim(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, Action onComplete,
Spine.Animation targetAnim, bool hasAnim, bool isSubSkill)
{
- int loopCount = skillConfig.LoopCount;
+ int loopCount = skillSkinConfig.LoopCount;
// 鍓嶆憞
- int startupFrames = skillConfig.StartupFrames;
+ int startupFrames = skillSkinConfig.StartupFrames;
// 涓憞
- int[] activeFrames = skillConfig.ActiveFrames ?? new int[0];
+ int[] activeFrames = skillSkinConfig.ActiveFrames ?? new int[0];
int frameCount = activeFrames.Length;
// 鍚庢憞
- float recoveryFrame = skillConfig.RecoveryFrames;
+ float recoveryFrame = skillSkinConfig.RecoveryFrames;
// 濡傛灉鍓嶄腑鍚庢憞娌℃湁閰嶇疆 閭d箞榛樿缁欎竴涓�1 2 3鐨勫抚鏁�
if (startupFrames <= 0 && frameCount == 0 && recoveryFrame <= 0f)
@@ -227,7 +227,7 @@
{
// 杞ㄩ亾姹犺�楀敖鎴栨湭鍒濆鍖栵紝鍥為��鍒版棤鍔ㄧ敾妯″紡
Debug.LogWarning($"瀛愭妧鑳借建閬撴睜宸叉弧鎴栨湭鍒濆鍖栵紝鎶�鑳絳skillConfig.SkillID}浣跨敤鏃犲姩鐢绘ā寮�");
- PlaySkillNoAnim(skillConfig, skillBase, onComplete, isSubSkill);
+ PlaySkillNoAnim(skillConfig, skillSkinConfig, skillBase, onComplete, isSubSkill);
return null;
}
}
@@ -244,7 +244,7 @@
{
if (skillBase != null && !skillBase.IsFinished())
{
- PlaySkillAnimation(skillConfig, skillBase, isSubSkill, onComplete);
+ PlaySkillAnimation(skillConfig, skillSkinConfig, skillBase, isSubSkill, onComplete);
}
});
return null;
@@ -405,13 +405,13 @@
}
// 鍚勯樁娈靛洖璋冿紙鍘熸湁閫昏緫锛�
- if (!beginTriggered && currentFrame >= skillConfig.StartupFrames && currentLoop == 0)
+ if (!beginTriggered && currentFrame >= skillSkinConfig.StartupFrames && currentLoop == 0)
{
beginTriggered = true;
skillBase.OnStartSkillFrameEnd();
}
- if (!middleStarted && currentFrame >= skillConfig.StartupFrames && currentLoop <= loopCount)
+ if (!middleStarted && currentFrame >= skillSkinConfig.StartupFrames && currentLoop <= loopCount)
{
middleStarted = true;
skillBase.OnMiddleFrameStart(currentLoop);
@@ -440,12 +440,12 @@
{
if (hasAnim)
{
- skillTrack.TrackTime = skillConfig.StartupFrames / BattleConst.skillMotionFps;
+ skillTrack.TrackTime = skillSkinConfig.StartupFrames / BattleConst.skillMotionFps;
}
else
{
// 涓轰笅涓� loop 閲嶇疆 startTime锛屽苟涓旀洿鏂� pausedAccumulatedAtStart锛堜互淇濇寔鍩虹嚎锛�
- startTime = Time.time - (skillConfig.StartupFrames / BattleConst.skillMotionFps);
+ startTime = Time.time - (skillSkinConfig.StartupFrames / BattleConst.skillMotionFps);
pausedAccumulatedAtStart = pausedAccumulated;
}
}
@@ -538,8 +538,8 @@
return targetAnim;
}
- private void PlaySkillNoAnim(SkillConfig skillConfig, SkillBase skillBase, Action onComplete, bool isSubSkill) =>
- ExecuteSkillAnim(skillConfig, skillBase, onComplete, null, false, isSubSkill);
+ private void PlaySkillNoAnim(SkillConfig skillConfig, SkillSkinConfig skillSkinConfig, SkillBase skillBase, Action onComplete, bool isSubSkill) =>
+ ExecuteSkillAnim(skillConfig, skillSkinConfig, skillBase, onComplete, null, false, isSubSkill);
protected virtual void SetupAnimationHandlers()
{
@@ -748,9 +748,9 @@
}
}
- public bool CanCastSkill(SkillConfig skillConfig)
+ public bool CanCastSkill(SkillSkinConfig skillSkinConfig)
{
- return !playingSkillWithAnim || string.IsNullOrEmpty(skillConfig.SkillMotionName);
+ return !playingSkillWithAnim || string.IsNullOrEmpty(skillSkinConfig.SkillMotionName);
}
public bool CanStartDeath()
--
Gitblit v1.8.0