From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则
---
Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs | 15 ++++++-
Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs | 17 ++++++--
Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs | 37 ++++++++++++++++--
3 files changed, 57 insertions(+), 12 deletions(-)
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs b/Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs
index 8287138..6e49784 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs
@@ -66,9 +66,9 @@
protected override void InitComponent()
{
base.InitComponent();
- btnFace.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Face); });
- btnFacePic.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.FacePic); });
- btnChatBox.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.ChatBox); });
+ btnFace.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Face, true); });
+ btnFacePic.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.FacePic, true); });
+ btnChatBox.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.ChatBox, true); });
btnAllAdd.AddListener(() => { AttributeManager.Instance.OpenTotalAttributeWin(manager.GetTotalAttr()); });
}
@@ -106,6 +106,9 @@
manager.OnUpdateFaceInfoEvent -= OnUpdateFaceInfoEvent;
manager.OnUpdateFacePicInfo -= OnUpdateFacePicInfo;
manager.OnTimeOut -= OnTimeOut;
+
+ manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Face, functionOrder + 1);
+ manager.UpdateRedPoint();
}
private void OnTimeOut()
@@ -153,9 +156,15 @@
}
}
- void SelectTeamFunc(PhantasmPavilionType type)
+ void SelectTeamFunc(PhantasmPavilionType type, bool isRemove = false)
{
manager.SetSelectItemId(type);
+ if (isRemove)
+ {
+ manager.RemoveAllNewHeroByTabType(manager.nowType);
+ manager.UpdateRedPoint();
+ RefreshAll(manager.nowType, false);
+ }
manager.nowType = type;
CreateAll(type);
}
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
index 85c4add..923a788 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
@@ -182,7 +182,31 @@
UpdateRedPoint();
}
- public void RemoveNewHero(PhantasmPavilionType type, int id)
+ public void RemoveAllNewHeroByTabType(PhantasmPavilionType type, int tabType = 0)
+ {
+ List<int> list = null;
+ switch (type)
+ {
+ case PhantasmPavilionType.Model:
+ list = ShowItemList(type, tabType);
+ break;
+ case PhantasmPavilionType.Face:
+ list = GetTableKeys(type);
+ break;
+ default:
+ return;
+ }
+
+ if (list.IsNullOrEmpty())
+ return;
+ foreach (var id in list)
+ {
+ RemoveNewHero(type, id, false);
+ }
+ SaveLocal();
+ }
+
+ public void RemoveNewHero(PhantasmPavilionType type, int id, bool isSave = true)
{
if (!Has(type, id))
return;
@@ -194,20 +218,23 @@
switch (type)
{
case PhantasmPavilionType.Model:
- RemoveNewHero(newHeroIDModelList, unlockValue);
+ RemoveNewHero(newHeroIDModelList, unlockValue, isSave);
break;
case PhantasmPavilionType.Face:
- RemoveNewHero(newHeroIDFaceList, unlockValue);
+ RemoveNewHero(newHeroIDFaceList, unlockValue, isSave);
break;
}
}
- void RemoveNewHero(List<int> list, int heroID)
+ void RemoveNewHero(List<int> list, int heroID, bool isSave = true)
{
if (!list.Contains(heroID))
return;
list.Remove(heroID);
- SaveLocal();
+ if (isSave)
+ {
+ SaveLocal();
+ }
UpdateRedPoint();
}
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs b/Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs
index 284f3f2..580589a 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs
@@ -43,8 +43,8 @@
protected override void InitComponent()
{
base.InitComponent();
- btnTabType1.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 0); });
- btnTabType2.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 1); });
+ btnTabType1.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 0, true); });
+ btnTabType2.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 1, true); });
btnAllAdd.AddListener(() => { AttributeManager.Instance.OpenTotalAttributeWin(manager.GetTotalAttr()); });
}
@@ -77,6 +77,9 @@
manager.OnUpdateModelInfoEvent -= OnUpdateModelInfoEvent;
manager.OnTimeOut -= OnTimeOut;
manager.OnUpdateModelStarAdd -= OnUpdateModelStarAdd;
+
+ manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Model, functionOrder + 1);
+ manager.UpdateRedPoint();
}
private void OnTimeOut()
@@ -107,9 +110,15 @@
SelectTeamFunc(PhantasmPavilionType.Model, 0);
}
- void SelectTeamFunc(PhantasmPavilionType type, int order)
+ void SelectTeamFunc(PhantasmPavilionType type, int order, bool isRemove = false)
{
manager.SetSelectItemId(type, order + 1);
+ if (isRemove)
+ {
+ manager.RemoveAllNewHeroByTabType(manager.nowType, functionOrder + 1);
+ manager.UpdateRedPoint();
+ RefreshAll(manager.nowType, functionOrder + 1, false);
+ }
manager.nowType = type;
functionOrder = order;
CreateAll();
--
Gitblit v1.8.0