From e1757b8dac92acd3063b203e12390ccab30c9ffe Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 17 三月 2026 19:13:32 +0800
Subject: [PATCH] 262 幻境阁-客户端 支持配表排序
---
Main/Config/Configs/PlayerFacePicConfig.cs | 5 ++
Main/Config/Configs/ModelConfig.cs | 5 ++
Main/System/PhantasmPavilion/PhantasmPavilionTitleHandler.cs | 5 ++
Main/Config/Configs/PlayerFaceConfig.cs | 5 ++
Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs | 5 ++
Main/System/PhantasmPavilion/PhantasmPavilionFacePicHandler.cs | 4 ++
Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs | 5 ++
Main/System/PhantasmPavilion/PhantasmPavilionManager.LoadConfig.cs | 8 ++++
Main/System/PhantasmPavilion/PhantasmPavilionManager.cs | 17 +++++++-
Main/System/PhantasmPavilion/IPhantasmPavilionTabHandler.cs | 1
Main/System/PhantasmPavilion/PhantasmPavilionChatBoxHandler.cs | 5 ++
Main/Config/Configs/ChatBubbleBoxConfig.cs | 5 ++
Main/Config/Configs/TitleConfig.cs | 5 ++
13 files changed, 63 insertions(+), 12 deletions(-)
diff --git a/Main/Config/Configs/ChatBubbleBoxConfig.cs b/Main/Config/Configs/ChatBubbleBoxConfig.cs
index b851bc7..b6b718d 100644
--- a/Main/Config/Configs/ChatBubbleBoxConfig.cs
+++ b/Main/Config/Configs/ChatBubbleBoxConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�12鏈�1鏃�
+// [ Date ]: 2026骞�3鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -35,6 +35,7 @@
public int Top;
public int[] MyColor;
public int[] OtherColor;
+ public int SortIndex;
public override int LoadKey(string _key)
{
@@ -167,6 +168,8 @@
int.TryParse(OtherColorStringArray[i],out OtherColor[i]);
}
}
+
+ int.TryParse(tables[19],out SortIndex);
}
catch (Exception exception)
{
diff --git a/Main/Config/Configs/ModelConfig.cs b/Main/Config/Configs/ModelConfig.cs
index ff78c7c..42ee750 100644
--- a/Main/Config/Configs/ModelConfig.cs
+++ b/Main/Config/Configs/ModelConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�11鏈�25鏃�
+// [ Date ]: 2026骞�3鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -31,6 +31,7 @@
public int[] InitAttrValueList;
public int[] AttrPerStarAddList;
public string GetWayString;
+ public int SortIndex;
public override int LoadKey(string _key)
{
@@ -107,6 +108,8 @@
}
GetWayString = tables[14];
+
+ int.TryParse(tables[15],out SortIndex);
}
catch (Exception exception)
{
diff --git a/Main/Config/Configs/PlayerFaceConfig.cs b/Main/Config/Configs/PlayerFaceConfig.cs
index f8f9abb..641356a 100644
--- a/Main/Config/Configs/PlayerFaceConfig.cs
+++ b/Main/Config/Configs/PlayerFaceConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: Wednesday, November 19, 2025
+// [ Date ]: 2026骞�3鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -31,6 +31,7 @@
public int[] InitAttrValueList;
public int[] AttrPerStarAddList;
public string GetWayString;
+ public int SortIndex;
public override int LoadKey(string _key)
{
@@ -107,6 +108,8 @@
}
GetWayString = tables[14];
+
+ int.TryParse(tables[15],out SortIndex);
}
catch (Exception exception)
{
diff --git a/Main/Config/Configs/PlayerFacePicConfig.cs b/Main/Config/Configs/PlayerFacePicConfig.cs
index 920e903..c4f2e42 100644
--- a/Main/Config/Configs/PlayerFacePicConfig.cs
+++ b/Main/Config/Configs/PlayerFacePicConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�11鏈�16鏃�
+// [ Date ]: 2026骞�3鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -30,6 +30,7 @@
public int[] InitAttrValueList;
public int[] AttrPerStarAddList;
public string GetWayString;
+ public int SortIndex;
public override int LoadKey(string _key)
{
@@ -104,6 +105,8 @@
}
GetWayString = tables[13];
+
+ int.TryParse(tables[14],out SortIndex);
}
catch (Exception exception)
{
diff --git a/Main/Config/Configs/TitleConfig.cs b/Main/Config/Configs/TitleConfig.cs
index d4741aa..4acf228 100644
--- a/Main/Config/Configs/TitleConfig.cs
+++ b/Main/Config/Configs/TitleConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: Saturday, March 14, 2026
+// [ Date ]: 2026骞�3鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -35,6 +35,7 @@
public int EffValue;
public int EffPerStarAdd;
public string GetWayString;
+ public int SortIndex;
public override int LoadKey(string _key)
{
@@ -119,6 +120,8 @@
int.TryParse(tables[17],out EffPerStarAdd);
GetWayString = tables[18];
+
+ int.TryParse(tables[19],out SortIndex);
}
catch (Exception exception)
{
diff --git a/Main/System/PhantasmPavilion/IPhantasmPavilionTabHandler.cs b/Main/System/PhantasmPavilion/IPhantasmPavilionTabHandler.cs
index 777dab0..8110b2d 100644
--- a/Main/System/PhantasmPavilion/IPhantasmPavilionTabHandler.cs
+++ b/Main/System/PhantasmPavilion/IPhantasmPavilionTabHandler.cs
@@ -17,4 +17,5 @@
int[] GetInitAttrValueList(int id);
int[] GetAttrPerStarAddList(int id);
string GetGetWayString(int id);
+ int GetSortIndex(int id);
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionChatBoxHandler.cs b/Main/System/PhantasmPavilion/PhantasmPavilionChatBoxHandler.cs
index 0902368..1949c04 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionChatBoxHandler.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionChatBoxHandler.cs
@@ -63,5 +63,8 @@
{
return ChatBubbleBoxConfig.Get(id).GetWayString;
}
-
+ public int GetSortIndex(int id)
+ {
+ return ChatBubbleBoxConfig.Get(id).SortIndex;
+ }
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs b/Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs
index 1860f26..0057ded 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs
@@ -63,5 +63,8 @@
{
return PlayerFaceConfig.Get(id).GetWayString;
}
-
+ public int GetSortIndex(int id)
+ {
+ return PlayerFaceConfig.Get(id).SortIndex;
+ }
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionFacePicHandler.cs b/Main/System/PhantasmPavilion/PhantasmPavilionFacePicHandler.cs
index ce96f65..34aeffe 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionFacePicHandler.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionFacePicHandler.cs
@@ -64,4 +64,8 @@
{
return PlayerFacePicConfig.Get(id).GetWayString;
}
+ public int GetSortIndex(int id)
+ {
+ return PlayerFacePicConfig.Get(id).SortIndex;
+ }
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.LoadConfig.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.LoadConfig.cs
index 2a2d361..e41cd26 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.LoadConfig.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.LoadConfig.cs
@@ -128,4 +128,12 @@
return string.Empty;
return handler.GetGetWayString(id);
}
+ public int GetSortIndex(PhantasmPavilionType type, int id)
+ {
+ if (!TryGetHandlerValue(type, out var handler))
+ return 0;
+ if (!Has(type, id))
+ return 0;
+ return handler.GetSortIndex(id);
+ }
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
index 78c3f77..c19d489 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
@@ -336,7 +336,7 @@
Debug.LogError($"TitleConfig.Get(id) is null, id: {id}");
return false;
}
- if(cfg.EffType > 0)
+ if (cfg.EffType > 0)
return true;
}
if (!Has(type, id))
@@ -407,7 +407,7 @@
public int Cmp(int a, int b, PhantasmPavilionType type)
{
- // 鑾峰彇 a 鍜� b 鐨勮В閿佺姸鎬�
+ // 1. 鑾峰彇 a 鍜� b 鐨勮В閿佺姸鎬�
int stateA = (int)GetUnLockState(type, a);
int stateB = (int)GetUnLockState(type, b);
@@ -415,11 +415,22 @@
int priorityA = stateA == 2 ? 0 : (stateA == 1 ? 1 : 2);
int priorityB = stateB == 2 ? 0 : (stateB == 1 ? 1 : 2);
-
+ // 浼樺厛鍒ゆ柇鐘舵��
if (priorityA != priorityB)
{
return priorityA.CompareTo(priorityB);
}
+
+ // 2. 鐘舵�佺浉鍚岀殑璇濓紝鑾峰彇涓よ�呯殑 SortIndex
+ int sortIndexA = GetSortIndex(type, a);
+ int sortIndexB = GetSortIndex(type, b);
+
+ if (sortIndexA != sortIndexB)
+ {
+ return sortIndexA.CompareTo(sortIndexB);
+ }
+
+ // 3. 鐘舵�佸拰 SortIndex 閮界浉鍚岀殑璇濓紝鎸夊敮涓� ID 鎺掑簭
return a.CompareTo(b);
}
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs b/Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs
index 7a7f5a2..7fd71c5 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs
@@ -63,5 +63,8 @@
{
return ModelConfig.Get(id).GetWayString;
}
-
+ public int GetSortIndex(int id)
+ {
+ return ModelConfig.Get(id).SortIndex;
+ }
}
\ No newline at end of file
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionTitleHandler.cs b/Main/System/PhantasmPavilion/PhantasmPavilionTitleHandler.cs
index 3037f5f..849c3c7 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionTitleHandler.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionTitleHandler.cs
@@ -63,6 +63,9 @@
{
return TitleConfig.Get(id).GetWayString;
}
-
+ public int GetSortIndex(int id)
+ {
+ return TitleConfig.Get(id).SortIndex;
+ }
}
--
Gitblit v1.8.0