From 75da4da96e33133f45253f64261dc4489cf03db4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 09 一月 2026 18:15:44 +0800
Subject: [PATCH] 266 【内政】古宝系统
---
Main/System/Gubao/GubaoCallCell.cs | 21 +++++++++-
Main/System/Gubao/GubaoCallWin.cs | 64 +++++++++++++------------------
2 files changed, 45 insertions(+), 40 deletions(-)
diff --git a/Main/System/Gubao/GubaoCallCell.cs b/Main/System/Gubao/GubaoCallCell.cs
index 41c4ccd..2419170 100644
--- a/Main/System/Gubao/GubaoCallCell.cs
+++ b/Main/System/Gubao/GubaoCallCell.cs
@@ -40,6 +40,7 @@
canImage.SetActive(false);
rotationTween.Stop();
openEffect.Stop();
+ showEffect.effectId = GetShowEffectID(result.itemId, result.count);
showEffect.PlayByArrIndex(Math.Max(itemCfg.ItemColor - 1, 0));
itemIcon.SetActive(true);
itemName.SetActive(true);
@@ -50,7 +51,7 @@
itemName.text = itemCfg.ItemName;
itemName.color = UIHelper.GetFuncQualityColor(itemCfg.ItemColor);
cntText.text = "x" + result.count.ToString();
-
+
if (gbCfg == null)
{
pieceImg.SetActive(false);
@@ -63,7 +64,7 @@
{
newImg.SetActive(false);
}
- else if (VirtualPackManager.Instance.GetNoPackItemCount(result.itemId) < gbCfg.UnlockItemCnt)
+ else if (result.count >= gbCfg.UnlockItemCnt && VirtualPackManager.Instance.GetNoPackItemCount(result.itemId) < gbCfg.UnlockItemCnt * 2)
{
newImg.SetActive(true);
}
@@ -103,6 +104,7 @@
await UniTask.Delay(200);
canImage.SetActive(false);
await UniTask.Delay(400);
+ showEffect.effectId = GetShowEffectID(result.itemId, result.count);
showEffect.PlayByArrIndex(Math.Max(itemCfg.ItemColor - 1, 0));
itemIcon.SetActive(true);
itemName.SetActive(true);
@@ -124,7 +126,7 @@
{
newImg.SetActive(false);
}
- else if (VirtualPackManager.Instance.GetNoPackItemCount(result.itemId) < gbCfg.UnlockItemCnt)
+ else if (result.count >= gbCfg.UnlockItemCnt && VirtualPackManager.Instance.GetNoPackItemCount(result.itemId) < gbCfg.UnlockItemCnt * 2)
{
newImg.SetActive(true);
}
@@ -137,4 +139,17 @@
}
+ int GetShowEffectID(int itemID, int cnt)
+ {
+ var config = GubaoConfig.Get(itemID);
+ if (config == null)
+ {
+ return 1095;
+ }
+ if (cnt >= config.UnlockItemCnt)
+ {
+ return 1094;
+ }
+ return 1095;
+ }
}
diff --git a/Main/System/Gubao/GubaoCallWin.cs b/Main/System/Gubao/GubaoCallWin.cs
index 879dd44..864f1cb 100644
--- a/Main/System/Gubao/GubaoCallWin.cs
+++ b/Main/System/Gubao/GubaoCallWin.cs
@@ -64,7 +64,7 @@
}
opObj.SetActive(true);
resultObj.SetActive(false);
- ShowVenderTalk(0);
+ ShowVenderTalk(0).Forget();
});
}
@@ -73,12 +73,11 @@
{
HappyXBModel.Instance.RefreshXBTypeInfoAct += Display;
HappyXBModel.Instance.RefreshXBResultAct += ShowResult;
- // GubaoManager.Instance.clickCallEvent += clickCallEvent;
skipToggle.isOn = LocalSave.GetBool(GubaoManager.skipKey + PlayerDatas.Instance.baseData.PlayerID, false);
opObj.SetActive(true);
resultObj.SetActive(false);
- ShowVenderTalk(0);
+ ShowVenderTalk(0).Forget();
Display();
}
@@ -86,35 +85,40 @@
{
HappyXBModel.Instance.RefreshXBTypeInfoAct -= Display;
HappyXBModel.Instance.RefreshXBResultAct -= ShowResult;
- // GubaoManager.Instance.clickCallEvent -= clickCallEvent;
}
//浼樺厛鍙ゅ疂琛ㄧ幇
- void ShowVenderTalk(int quality)
+ async UniTask ShowVenderTalk(int quality, float delay=0)
{
if (quality == 0)
{
var random = Random.Range(1, GubaoManager.Instance.maxIdleTalk + 1);
talkText.text = Language.Get("GubaoIdleTalk" + random);
roleModel.Play(0);
+ return;
+ }
+
+
+ await UniTask.Delay((int)(delay*1000*0.6));
+
+ if (quality >= 10)
+ {
+ //鐗╁搧鍝佽川
+ quality = quality / 10;
+ talkText.text = Language.Get("GubaoResultTalkItem" + quality);
+ roleModel.Play(GubaoManager.Instance.emojiItemDict[quality]);
}
else
{
- 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]);
- }
+ talkText.text = Language.Get("GubaoResultTalkGB" + quality);
+ roleModel.Play(GubaoManager.Instance.emojiGBDict[quality]);
}
-
+ await UniTask.Delay((int)(delay*1000*0.4));
+ if (delay != 0)
+ {
+ opObj.SetActive(true);
+ }
}
public void Display()
@@ -159,17 +163,10 @@
{
//姣忕瑙﹀彂涓�娆�
cdTime += Time.deltaTime;
- if (cdTime < 0.5) return;
+ if (cdTime < 1) return;
cdTime = 0;
RefreshFreeTime();
- if (resultObj.gameObject.activeSelf && !opObj.gameObject.activeSelf)
- {
- if (Time.time - showResultTime > showCD)
- {
- opObj.SetActive(true);
- ShowVenderTalk(GetResultQuality());
- }
- }
+
}
//鍖哄垎鐗╁搧鍝佽川*10 鍜� 鍙ゅ疂鍝佽川
@@ -269,23 +266,16 @@
if (isSkip)
{
- ShowVenderTalk(GetResultQuality());
+ ShowVenderTalk(GetResultQuality()).Forget();
}
else
{
opObj.SetActive(false);
- ShowVenderTalk(0);
+ ShowVenderTalk(0).Forget();
+ ShowVenderTalk(GetResultQuality(), showCD).Forget();
}
}
- // void clickCallEvent()
- // {
- // if (!skipToggle.isOn)
- // {
- // showResultTime = Time.time + 2; //棰勮寤惰繜2绉掔瓑鏈嶅姟绔�
- // opObj.SetActive(false);
- // }
- // }
void ShowRate()
{
--
Gitblit v1.8.0