| | |
| | | } |
| | | else |
| | | { |
| | | Debug.LogError("缺少SkeletonGraphic组件!"); |
| | | BattleDebug.LogError("缺少SkeletonGraphic组件!"); |
| | | } |
| | | |
| | | |
| | |
| | | // 参数校验 |
| | | if (skillConfig == null) |
| | | { |
| | | Debug.LogError("技能配置为空,无法播放技能动画"); |
| | | BattleDebug.LogError("技能配置为空,无法播放技能动画"); |
| | | return null; |
| | | } |
| | | if (spineAnimationState == null || skeleton == null) |
| | | { |
| | | Debug.LogError("SkeletonGraphic或AnimationState未初始化,无法播放技能动画"); |
| | | BattleDebug.LogError("SkeletonGraphic或AnimationState未初始化,无法播放技能动画"); |
| | | return null; |
| | | } |
| | | |
| | |
| | | Spine.Animation anim = skeleton.Data.FindAnimation(skillConfig.SkillMotionName); |
| | | if (anim == null) |
| | | { |
| | | Debug.LogError($"找不到动画: {skillConfig.SkillMotionName}"); |
| | | BattleDebug.LogError($"找不到动画: {skillConfig.SkillMotionName}"); |
| | | return null; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // 中摇开始(每轮loop的开始,只触发一次) |
| | | if (!middleFrameStarted && trackTime >= middleBeginTime && curLoop < loopCount) |
| | | if (!middleFrameStarted && trackTime >= middleBeginTime && curLoop <= loopCount) |
| | | { |
| | | middleFrameStarted = true; |
| | | skillBase.OnMiddleFrameStart(curLoop); |