From f98a847267d3d9485a78bd4c35295493828c855c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 09 一月 2026 17:11:15 +0800
Subject: [PATCH] 266 【内政】古宝系统 - 区分抽到物品 和古宝的对话和表情;鉴宝套装红点
---
Main/System/Gubao/GubaoManager.cs | 41 ++++++++++++++++++--
Main/System/HappyXB/HappyXBModel.cs | 1
Main/System/Gubao/GubaoCallWin.cs | 41 +++++++++++++++++---
Main/System/Gubao/GubaoSuiteListWin.cs | 3 +
4 files changed, 76 insertions(+), 10 deletions(-)
diff --git a/Main/System/Gubao/GubaoCallWin.cs b/Main/System/Gubao/GubaoCallWin.cs
index d5a675e..879dd44 100644
--- a/Main/System/Gubao/GubaoCallWin.cs
+++ b/Main/System/Gubao/GubaoCallWin.cs
@@ -89,6 +89,8 @@
// GubaoManager.Instance.clickCallEvent -= clickCallEvent;
}
+
+ //浼樺厛鍙ゅ疂琛ㄧ幇
void ShowVenderTalk(int quality)
{
if (quality == 0)
@@ -99,8 +101,18 @@
}
else
{
- talkText.text = Language.Get("GubaoResultTalk" + quality);
- roleModel.Play(GubaoManager.Instance.emojiDict[quality]);
+ if (quality >= 10)
+ {
+ //鐗╁搧鍝佽川
+ quality = quality / 10;
+ talkText.text = Language.Get( "GubaoResultTalkItem" + quality);
+ roleModel.Play(GubaoManager.Instance.emojiItemDict[quality]);
+ }
+ else
+ {
+ talkText.text = Language.Get( "GubaoResultTalkGB" + quality);
+ roleModel.Play(GubaoManager.Instance.emojiGBDict[quality]);
+ }
}
}
@@ -160,22 +172,39 @@
}
}
+ //鍖哄垎鐗╁搧鍝佽川*10 鍜� 鍙ゅ疂鍝佽川
+ //濡傛灉鏈夊彜瀹濆氨涓嶈鐗╁搧鍝佽川
int GetResultQuality()
{
if (HappyXBModel.Instance.xbResultDict.IsNullOrEmpty())
{
return 0;
}
- int quality = 0;
+ int gbQuality = 0;
+ int itemQuility = 0;
foreach (var item in HappyXBModel.Instance.xbResultDict.Values)
{
+ bool isGB = GubaoConfig.HasKey(item.itemId);
int tmp = ItemConfig.Get(item.itemId).ItemColor;
- if (tmp > quality)
+ if (isGB)
{
- quality = tmp;
+ if (tmp > gbQuality)
+ {
+ gbQuality = tmp;
+ }
+ }
+ else
+ {
+ if (tmp > itemQuility)
+ {
+ itemQuility = tmp;
+ }
}
}
- return quality;
+
+
+
+ return gbQuality != 0 ? gbQuality : itemQuility * 10;
}
void RefreshFreeTime()
diff --git a/Main/System/Gubao/GubaoManager.cs b/Main/System/Gubao/GubaoManager.cs
index 90c1810..366be1c 100644
--- a/Main/System/Gubao/GubaoManager.cs
+++ b/Main/System/Gubao/GubaoManager.cs
@@ -36,7 +36,8 @@
public const string skipKey = "SkipGBCall";
- public Dictionary<int, int> emojiDict = new Dictionary<int, int>(); //鍝佽川锛歟mojiID椤哄簭
+ public Dictionary<int, int> emojiGBDict = new Dictionary<int, int>(); //鍙ゅ疂鍝佽川锛歟mojiID椤哄簭
+ public Dictionary<int, int> emojiItemDict = new Dictionary<int, int>(); //鍙ゅ疂鍝佽川锛歟mojiID椤哄簭
public int maxIdleTalk = 0;
public override void Init()
@@ -61,8 +62,9 @@
void ParseConfig()
{
var config = FuncConfigConfig.Get("Gubao1");
- emojiDict = ConfigParse.ParseIntDict(config.Numerical1);
+ emojiGBDict = ConfigParse.ParseIntDict(config.Numerical1);
maxIdleTalk = int.Parse(config.Numerical2);
+ emojiItemDict = ConfigParse.ParseIntDict(config.Numerical3);
}
@@ -71,6 +73,8 @@
gubaoDict.Clear();
waitActiveGubao = 0;
gubaoCollectDict.Clear();
+ suiteStarDict.Clear();
+ jumpSuiteID = 0;
}
void OnPlayerLoginOK()
@@ -124,9 +128,8 @@
UIManager.Instance.OpenWindow<GubaoActiveWin>(waitActiveGubao);
waitActiveGubao = 0;
}
- UpdateRedpoint();
RefreshAllAttr();
- GubaoCallRedPoint();
+ UpdateRedpoint();
}
@@ -624,6 +627,9 @@
return cnt;
}
+ public int jumpSuiteID = 0; //濂楄绾㈢偣璺宠浆
+ Dictionary<int, int> suiteStarDict = new Dictionary<int, int>(); //濂楄鏄熺骇 鍙槸鐢ㄤ簬鍒ゆ柇绾㈢偣鍓嶅悗瀵规瘮
+
void RefreshAllAttr()
{
gubaoAllAttrDict.Clear();
@@ -649,6 +655,28 @@
{
continue;
}
+
+ //濂楄鏄惁鏈夋柊婵�娲� 鍜屽埛灞炴�ф棤鍏筹紝椤轰究鍐欒繖
+ if (suiteStarDict.ContainsKey(suitID))
+ {
+ if (suiteStarDict[suitID] != curSuiteStar)
+ {
+ suiteStarDict[suitID] = curSuiteStar;
+ if (jumpSuiteID == 0)
+ {
+ jumpSuiteID = suitID;
+ }
+ }
+ }
+ else
+ {
+ suiteStarDict[suitID] = curSuiteStar;
+ if (jumpSuiteID == 0)
+ {
+ jumpSuiteID = suitID;
+ }
+ }
+
var attrCfg = GubaoResonanceAttrConfig.GetConfig(suitID, curSuiteStar);
if (attrCfg == null)
{
@@ -717,6 +745,7 @@
activeRP.state = RedPointState.None;
gubaoLVRP.state = RedPointState.None;
gubaoStarRP.state = RedPointState.None;
+ gubaoSuiteRP.state = RedPointState.None;
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.GuaBao))
return;
@@ -740,6 +769,10 @@
}
}
+ if (jumpSuiteID != 0)
+ {
+ gubaoSuiteRP.state = RedPointState.Simple;
+ }
}
diff --git a/Main/System/Gubao/GubaoSuiteListWin.cs b/Main/System/Gubao/GubaoSuiteListWin.cs
index 6ddc541..9b9495a 100644
--- a/Main/System/Gubao/GubaoSuiteListWin.cs
+++ b/Main/System/Gubao/GubaoSuiteListWin.cs
@@ -45,6 +45,9 @@
}
scroller.Restart();
+ scroller.JumpIndex(GubaoManager.Instance.jumpSuiteID - 1);
+ GubaoManager.Instance.jumpSuiteID = 0;
+ GubaoManager.Instance.UpdateRedpoint();
}
void OnRefreshCell(ScrollerDataType type, CellView cell)
diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs
index 97bfadb..9ea3a1d 100644
--- a/Main/System/HappyXB/HappyXBModel.cs
+++ b/Main/System/HappyXB/HappyXBModel.cs
@@ -292,6 +292,7 @@
}
HeroCallRedPoint();
+ GubaoManager.Instance.GubaoCallRedPoint();
}
public XBTypeInfo GetXBInfoByType(int type)
--
Gitblit v1.8.0