From 1d7a9569f0d2275ada39ba30f8c0f38b6a4baa2f Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 15 五月 2026 15:49:17 +0800
Subject: [PATCH] 638 VIP专属客服 增加红点,调整文案,入口显示在主界面
---
Main/System/SuperVIP/SuperVIPWin.cs | 2 +
Main/System/SuperVIP/SuperVipManager.cs | 38 +++++++++++++++++++
Main/System/Main/RightFuncInHome.cs | 12 ------
Main/System/Main/HomeWin.cs | 20 ++++++++++
Main/System/Redpoint/MainRedDot.cs | 1
5 files changed, 61 insertions(+), 12 deletions(-)
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index aa45add..3d28aa5 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -76,6 +76,7 @@
[SerializeField] HeroReturnCell heroReturnCell;
[SerializeField] HeroSkinFlashSaleCell heroSkinFlashSaleCell;
[SerializeField] Button festivalActivityBtn;
+ [SerializeField] Button superVIPBtn;
//鍧愰獞
[SerializeField] Image horseBGImg;
@@ -238,6 +239,10 @@
{
UIManager.Instance.OpenWindow<FestivalActivityWin>();
});
+ superVIPBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<SuperVIPWin>();
+ });
}
@@ -294,6 +299,7 @@
TimingGiftManager.Instance.OnShowGiftIdListAddEvent += OnShowGiftIdListAddEvent;
OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
OperationTimeHepler.Instance.operationTimeUpdateEvent += OnOperationTimeUpdateEvent;
+ RechargeManager.Instance.rechargeChangeEvent += OnRechargeChangeEvent;
TryPlayAutoFightBoss();
Display();
DisplayFirstChargeBtn();
@@ -305,6 +311,7 @@
DisplayHeroReturn();
DisplayHeroSkinFlash();
DisplayFestivalActivity();
+ DisplaySuperVipBtn();
DelayPlayMusic().Forget();
}
@@ -335,6 +342,7 @@
TimingGiftManager.Instance.OnShowGiftIdListAddEvent -= OnShowGiftIdListAddEvent;
OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
OperationTimeHepler.Instance.operationTimeUpdateEvent -= OnOperationTimeUpdateEvent;
+ RechargeManager.Instance.rechargeChangeEvent -= OnRechargeChangeEvent;
// 鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨�
UIManager.Instance.CloseWindow<BattleWin>();
}
@@ -389,6 +397,11 @@
{
DisplayChatShow();
}
+ }
+
+ private void OnRechargeChangeEvent()
+ {
+ DisplaySuperVipBtn();
}
private void DisplayChatShow()
@@ -998,6 +1011,13 @@
bool isOpen = FestivalActivityManager.Instance.IsFestivalActivityOpen();
festivalActivityBtn.SetActive(isOpen);
}
+
+ void DisplaySuperVipBtn()
+ {
+ bool isOpen = SuperVipManager.Instance.IsEntryOpen();
+ superVIPBtn.SetActive(isOpen);
+ SuperVipManager.Instance.UpdateRedpoint();
+ }
}
diff --git a/Main/System/Main/RightFuncInHome.cs b/Main/System/Main/RightFuncInHome.cs
index 8a90497..80a1185 100644
--- a/Main/System/Main/RightFuncInHome.cs
+++ b/Main/System/Main/RightFuncInHome.cs
@@ -19,7 +19,6 @@
[SerializeField] Button signBtn;
[SerializeField] Button previewBtn;
[SerializeField] Button reviewBtn; //濂借瘎
- [SerializeField] Button superVIPBtn;
static string listenWindowName = ""; //鐩戝惉鍏抽棴鏃跺啀鏄剧ず
@@ -94,10 +93,6 @@
{
UIManager.Instance.OpenWindow<GoodReviewWin>();
});
- superVIPBtn.AddListener(() =>
- {
- UIManager.Instance.OpenWindow<SuperVIPWin>();
- });
}
void OnDestroy()
@@ -116,15 +111,8 @@
monthCardBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.PrivilegeCard));
previewBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.FunctionPreview));
reviewBtn.SetActive(SmallFuncManager.Instance.IsReviewOpen());
- DisplaySuperVipBtn();
}
- void DisplaySuperVipBtn()
- {
- bool isOpen = SuperVipManager.Instance.IsEntryOpen();
- superVIPBtn.SetActive(isOpen);
- }
-
//鏄鹃殣鍔熻兘鏍�
public void ShowFuncCol(bool _isShow)
{
diff --git a/Main/System/Redpoint/MainRedDot.cs b/Main/System/Redpoint/MainRedDot.cs
index 99142df..9664ee4 100644
--- a/Main/System/Redpoint/MainRedDot.cs
+++ b/Main/System/Redpoint/MainRedDot.cs
@@ -158,6 +158,7 @@
public const int HeroReturnRepoint = 484; //姝﹀皢杩斿満
public const int FestivalActivityRepoint = 485; //鑺傛棩娲诲姩
public const int HeroSkinFlashSaleRepoint = 486;
+ public const int SuperVIPRepoint = 487;
public void Register()
{
diff --git a/Main/System/SuperVIP/SuperVIPWin.cs b/Main/System/SuperVIP/SuperVIPWin.cs
index cf6cf47..3b35c82 100644
--- a/Main/System/SuperVIP/SuperVIPWin.cs
+++ b/Main/System/SuperVIP/SuperVIPWin.cs
@@ -14,6 +14,8 @@
protected override void OnPreOpen()
{
+ // 杩涘叆鐣岄潰鍚庢竻闄ゅ叆鍙g孩鐐�
+ SuperVipManager.Instance.ClearRedpoint();
DisplayRewards();
}
diff --git a/Main/System/SuperVIP/SuperVipManager.cs b/Main/System/SuperVIP/SuperVipManager.cs
index c44be4e..89f3be7 100644
--- a/Main/System/SuperVIP/SuperVipManager.cs
+++ b/Main/System/SuperVIP/SuperVipManager.cs
@@ -9,16 +9,29 @@
/// <summary>瀹㈡湇棰嗗彇濂栧姳鍒楄〃 [[鐗╁搧ID, 涓暟], ...]</summary>
public int[][] customerServiceRewards;
+ /// <summary>SuperVIP鍏ュ彛绾㈢偣</summary>
+ public Redpoint superVipRedpoint = new Redpoint(MainRedDot.SuperVIPRepoint);
+
public override void Init()
{
var config = FuncConfigConfig.Get("SuperVIP");
channelThresholdDict = JsonMapper.ToObject<Dictionary<string, int>>(config.Numerical1);
customerServiceRewards = JsonMapper.ToObject<int[][]>(config.Numerical2);
+
+ // 姣忔閲嶆柊鐧诲綍鍚庨噸缃孩鐐癸紙閲嶆柊涓婄嚎鍚庢樉绀虹孩鐐癸級
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin;
+ RechargeManager.Instance.rechargeChangeEvent += OnRechargeChangeEvent;
}
public override void Release()
{
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEventOnRelogin;
+ RechargeManager.Instance.rechargeChangeEvent -= OnRechargeChangeEvent;
+ }
+ private void OnRechargeChangeEvent()
+ {
+ UpdateRedpoint();
}
/// <summary>
@@ -32,4 +45,29 @@
return false;
return RechargeManager.Instance.realRecharge >= thresholdYuan * 100;
}
+
+ /// <summary>
+ /// 閲嶆柊鐧诲綍锛堟暟鎹垵濮嬪寲鍓嶏級锛屽厛娓呴櫎绾㈢偣鐘舵�佸啀閲嶆柊鍒ゆ柇鏄剧ず
+ /// </summary>
+ void OnBeforePlayerDataInitializeEventOnRelogin()
+ {
+ superVipRedpoint.state = RedPointState.None;
+ UpdateRedpoint();
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍏ュ彛寮�鏀剧姸鎬佹洿鏂扮孩鐐�
+ /// </summary>
+ public void UpdateRedpoint()
+ {
+ superVipRedpoint.state = IsEntryOpen() ? RedPointState.Simple : RedPointState.None;
+ }
+
+ /// <summary>
+ /// 娓呴櫎绾㈢偣锛堣繘鍏uperVIPWin鍚庤皟鐢級
+ /// </summary>
+ public void ClearRedpoint()
+ {
+ superVipRedpoint.state = RedPointState.None;
+ }
}
--
Gitblit v1.8.0