From d3f814d81b74bfbdd6372a0ae0f319aa0ebc201b Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期日, 21 十二月 2025 17:50:53 +0800
Subject: [PATCH] 125 战斗 一键跳过防卡死处理
---
Main/System/Battle/Skill/SkillBase.cs | 70 ++++++++++++++++++++++++++++++++++
1 files changed, 69 insertions(+), 1 deletions(-)
diff --git a/Main/System/Battle/Skill/SkillBase.cs b/Main/System/Battle/Skill/SkillBase.cs
index 8e36377..072fbf4 100644
--- a/Main/System/Battle/Skill/SkillBase.cs
+++ b/Main/System/Battle/Skill/SkillBase.cs
@@ -1074,16 +1074,84 @@
if (isFinished)
return;
+ // 1. 寮哄埗缁撴潫鎶�鑳芥晥鏋�
skillEffect?.ForceFinished();
+ skillEffect = null;
+ // 2. 寮哄埗缁撴潫鎵�鏈夊瓙鎶�鑳藉姩浣�
otherSkillActionList.ForEach(action => action.ForceFinish());
otherSkillActionList.Clear();
+
+ // 3. 娓呯悊 DOTween 鍔ㄧ敾锛堥槻姝㈢Щ鍔ㄥ洖璋冨湪鎴樻枟缁撴潫鍚庢墽琛岋級
+ if (caster != null && caster.heroRectTrans != null)
+ {
+ DG.Tweening.DOTween.Kill(caster.heroRectTrans);
+ }
+
+ // 4. 閲嶇疆鏂芥硶鑰呯姸鎬�
+ if (caster != null)
+ {
+ // 閲嶇疆浣嶇疆鍒板師鐐�
+ if (caster.heroRectTrans != null)
+ {
+ caster.heroRectTrans.anchoredPosition = Vector2.zero;
+ }
+
+ // 閲嶇疆鏈濆悜
+ if (caster.heroGo != null)
+ {
+ Vector3 scale = caster.heroGo.transform.localScale;
+ scale.x = Mathf.Abs(scale.x);
+ caster.heroGo.transform.localScale = scale;
+ }
+
+ // 鍙栨秷骞诲奖鏁堟灉
+ caster.motionBase?.ShowIllusionShadow(false);
+
+ // 鎾斁寰呮満鍔ㄧ敾锛堝鏋滆繕娲荤潃锛�
+ if (!caster.teamHero.isDead)
+ {
+ caster.motionBase?.ResetForReborn(false);
+ }
+
+ // 娓呯悊鍔ㄧ敾鍥炶皟
+ caster.motionBase?.CancelControledAnimation();
+ }
+
+ // 5. 鎭㈠ UI 鐘舵��
+ if (battleField != null)
+ {
+ // 鎭㈠鎵�鏈夎鑹茬殑鏄剧ず灞傜骇鍜岃鏉�
+ var allList = battleField.battleObjMgr?.allBattleObjDict?.Values;
+ if (allList != null)
+ {
+ foreach (BattleObject bo in allList)
+ {
+ bo.layerMgr?.SetFront();
+ bo.heroInfoBar?.SetActive(true);
+ }
+ }
+
+ // 鍏抽棴鎶�鑳介伄缃�
+ if (battleField.battleRootNode != null && battleField.battleRootNode.skillMaskNode != null)
+ {
+ battleField.battleRootNode.skillMaskNode.SetActive(false);
+ }
+ }
isFinished = true;
moveFinished = true;
isPlay = true;
- // 澶勭悊鎵�鏈夊墿浣欏寘
+ // 6. 澶勭悊鎵�鏈夊墿浣欏寘锛堝寘鎷� buff 鍖咃級
+ // 鍏堝鐞� buffCollections
+ foreach (var buff in buffCollections)
+ {
+ PackageRegedit.Distribute(buff);
+ }
+ buffCollections.Clear();
+
+ // 澶勭悊鍓╀綑鐨� packList
while (packList.Count > 0)
{
var pack = packList[0];
--
Gitblit v1.8.0