| | |
| | | // 动画帧更新处理 |
| | | int triggerMFEndCount = 0; |
| | | Action updateLocalHandler = null; |
| | | |
| | | int failCallbackTimes = 0; |
| | | |
| | | updateLocalHandler = () => |
| | | { |
| | | if (isFinish) return; |
| | | |
| | | float frame = (skillTrackEntry.TrackTime * (float)BattleConst.skillMotionFps); |
| | | float frame = (skillTrackEntry.TrackTime * skillTrackEntry.TimeScale * (float)BattleConst.skillMotionFps); |
| | | |
| | | if (skillTrackEntry.TrackTime == 0) |
| | | { |
| | | failCallbackTimes++; |
| | | } |
| | | |
| | | if (failCallbackTimes > 100) |
| | | { |
| | | Debug.LogError("技能动画播放失败,回调异常,强制结束 " + skillConfig.SkillID + " 导致错误的原因是技能帧配置得太久导致技能动作结束了事件还没结束"); |
| | | skillBase.ForceFinished(); |
| | | RemoveRunAction(updateLocalHandler); |
| | | isFinish = true; |
| | | return; |
| | | } |
| | | |
| | | // 前摇结束(只触发一次) |
| | | if (!beginPhaseTriggered && frame >= skillConfig.StartupFrames && curLoop == 0) |