From ae68791b8b2b60c847327d3d2063d948bb857873 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 24 三月 2026 10:35:19 +0800
Subject: [PATCH] 262 幻境阁 修复获取气泡、头像、头像框、形象、称号的激活物品,外层没显示红点bug
---
Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs | 29 ++++++++++++++++++++++++++++-
Main/System/PhantasmPavilion/PhantasmPavilionManager.cs | 5 ++---
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
index ebd4974..e1cd0d9 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
@@ -180,6 +180,32 @@
}
}
+ private HashSet<int> UpdateRedPointItemSet = new HashSet<int>();
+ public HashSet<int> GetUpdateRedPointItemSet()
+ {
+ if (UpdateRedPointItemSet.Count > 0)
+ return UpdateRedPointItemSet;
+
+ var types = (PhantasmPavilionType[])System.Enum.GetValues(typeof(PhantasmPavilionType));
+ foreach (var type in types)
+ {
+ List<int> keys = GetTableKeys(type);
+ if (keys == null)
+ continue;
+
+ foreach (var id in keys)
+ {
+ if (GetUnlockWay(type, id) != 2)
+ continue;
+
+ int itemId = GetUnlockValue(type, id);
+ UpdateRedPointItemSet.Add(itemId);
+ }
+ }
+
+ return UpdateRedPointItemSet;
+ }
+
public List<int> newSkinIDModelList = new List<int>();
public List<int> newSkinIDFaceList = new List<int>();
string modelSkinKey { get { return StringUtility.Concat("PhantasmPavilion_Redponit_ModelSkin_", PlayerDatas.Instance.PlayerId.ToString()); } }
@@ -318,7 +344,8 @@
{
int[] arr = LocalSave.GetIntArray(faceSkinKey);
newSkinIDFaceList = arr.IsNullOrEmpty() ? new List<int>() : arr.ToList();
- }else
+ }
+ else
{
newSkinIDFaceList = new List<int>();
}
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
index c58fd37..27f384c 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
@@ -99,9 +99,8 @@
{
if (type != PackType.Item)
return;
- if (itemID <= 0)
- return;
- if (ItemConfig.Get(itemID).Type != 146)
+ var map = GetUpdateRedPointItemSet();
+ if (!map.Contains(itemID))
return;
UpdateRedPoint();
}
--
Gitblit v1.8.0