From 9a43efd1b70bb105adcbd0ec3ae8016d49112c52 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 23 三月 2026 17:32:35 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts
---
Main/System/HappyXB/HeroCallXYFinishWin.cs | 23 +++++++++++
Main/System/HappyXB/HeroCallXYFinishWin.cs.meta | 11 +++++
Main/System/HappyXB/HeroCallResultWin.cs | 46 +++++++++++++++++++++++
3 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index 50c7e93..b1aeb11 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -123,6 +123,7 @@
resultState = HeroUIManager.Instance.selectCallIndex == 0 ? ResultState.single : ResultState.ten;
RefreshState();
+ CheckWishFinishOnSkip();
}
else
{
@@ -338,6 +339,10 @@
roleLHModelTween2.Play();
bgTexture.SetTexture2D(HeroUIManager.Instance.GetBGName(hero.SkinIDList[0], hero.Country));
+ if (IsWishHero(heroID))
+ {
+ UIManager.Instance.OpenWindow<HeroCallXYFinishWin>();
+ }
}
void RefreshHeroInfo(int heroID)
@@ -364,4 +369,45 @@
}
callTip.text = Language.Get("HeroCall6", needCount, string.Join(Language.Get("L1130"), qualityStrList.ToArray()));
}
+
+ /// <summary>
+ /// 璺宠繃鍔ㄧ敾鏃讹紝妫�鏌ユ槸鍚︽娊鍒颁簡蹇冩効姝﹀皢
+ /// </summary>
+ void CheckWishFinishOnSkip()
+ {
+ // 鍙湁楂樼骇鎷涘嫙鎵嶆湁蹇冩効
+ if (HeroUIManager.Instance.selectCallType != HappXBTitle.HeroCallAdvanced) return;
+
+ for (int i = 0; i < HappyXBModel.Instance.xbResultDict.Count; i++)
+ {
+ int heroID = HappyXBModel.Instance.xbResultDict[i].itemId;
+ if (IsWishHero(heroID))
+ {
+ // 鎶藉埌浜嗗績鎰挎灏嗭紝鎵撳紑瀹屾垚鐗规晥鐣岄潰
+ UIManager.Instance.OpenWindow<HeroCallXYFinishWin>();
+ break;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鎸囧畾鐨勮嫳闆処D鏄惁涓哄綋鍓嶉�変腑鐨勫績鎰挎灏�
+ /// </summary>
+ bool IsWishHero(int heroID)
+ {
+ if (HeroUIManager.Instance.selectCallType != HappXBTitle.HeroCallAdvanced) return false;
+
+ var hero = HeroConfig.Get(heroID);
+ if (hero == null) return false;
+
+ if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, hero.Quality, out int wishID, out _, out _))
+ {
+ var libCfg = TreasureItemLibConfig.Get(wishID);
+ if (libCfg != null && libCfg.ItemID == heroID)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
\ No newline at end of file
diff --git a/Main/System/HappyXB/HeroCallXYFinishWin.cs b/Main/System/HappyXB/HeroCallXYFinishWin.cs
new file mode 100644
index 0000000..47423f9
--- /dev/null
+++ b/Main/System/HappyXB/HeroCallXYFinishWin.cs
@@ -0,0 +1,23 @@
+using System;
+using UnityEngine;
+
+public class HeroCallXYFinishWin : UIBase
+{
+ [SerializeField] UIEffectPlayer xyFinishUIEffect;
+ protected override void OnPreOpen()
+ {
+ xyFinishUIEffect.onComplete += OnComplete;
+ xyFinishUIEffect.Play();
+ }
+
+ protected override void OnPreClose()
+ {
+ xyFinishUIEffect.onComplete -= OnComplete;
+ xyFinishUIEffect.Stop();
+ }
+
+ private void OnComplete()
+ {
+ CloseWindow();
+ }
+}
\ No newline at end of file
diff --git a/Main/System/HappyXB/HeroCallXYFinishWin.cs.meta b/Main/System/HappyXB/HeroCallXYFinishWin.cs.meta
new file mode 100644
index 0000000..98e8b91
--- /dev/null
+++ b/Main/System/HappyXB/HeroCallXYFinishWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 52b2744981baf7b47b433b13fcf02f38
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
--
Gitblit v1.8.0