From 6d9a990ce3eff793946d7b43e9b48e4f7045c20e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 05 八月 2025 17:50:32 +0800
Subject: [PATCH] 0312 服务器列表

---
 Main/Utility/UIHelper.cs |  350 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 235 insertions(+), 115 deletions(-)

diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 14e5385..f135ca8 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -2,8 +2,6 @@
 using System.Text;
 using UnityEngine;
 using System.Linq;
-using System.Xml.Linq;
-using System.Collections;
 using System.Collections.Generic;
 using UnityEngine.UI;
 
@@ -115,13 +113,13 @@
     }
 
     // 鍩轰簬itemColor 涓嬶紝ColorEx鍋氫簩绾у尯鍒�
-    public static void SetItemBackGround(this Image _image, int itemColor, int ColorEx = 0)
+    public static void SetItemBackGround(this Image _image, int itemColor)
     {
         if (_image == null)
         {
             return;
         }
-        _image.SetSprite(string.Format("Common_Public_ItemColor{0}{1}", itemColor, ColorEx));
+        _image.SetSprite($"ItemBG{itemColor}");
     }
     /// <summary>
     /// 鍓╀綑鏃堕棿
@@ -377,15 +375,15 @@
         }
         else if (num >= M)
         {
-            return StringUtility.Contact(numto2Decimals(num / M).ToString("0.##"), Language.Get("L1070"));
+            return StringUtility.Contact(numto2Decimals(num / M).ToString("0.#"), Language.Get("L1070"));
         }
         else if (num >= K)
         {
-            return StringUtility.Contact(numto2Decimals(num / K).ToString("0.##"), Language.Get("L1071"));
+            return StringUtility.Contact(numto2Decimals(num / K).ToString("0.#"), Language.Get("L1071"));
         }
         else
         {
-            return numto2Decimals(num).ToString("0.##");
+            return numto2Decimals(num).ToString("0.#");
         }
     }
 
@@ -407,15 +405,15 @@
         }
         else if (num >= M)
         {
-            return StringUtility.Contact(numto2Decimals(num / M).ToString("0.##"),"m");
+            return StringUtility.Contact(numto2Decimals(num / M).ToString("0.#"), "m");
         }
         else if (num >= K)
         {
-            return StringUtility.Contact(numto2Decimals(num / K).ToString("0.##"), "k");
+            return StringUtility.Contact(numto2Decimals(num / K).ToString("0.#"), "k");
         }
         else
         {
-            return numto2Decimals(num).ToString("0.##");
+            return numto2Decimals(num).ToString("0.#");
         }
     }
 
@@ -498,29 +496,29 @@
 
     #endregion
 
-    #region 鏂囧瓧鑹插��
+    #region 鏂囧瓧鑹插�� Bright 鍜� Dark鎸囪儗鏅壊绯绘槸鏄庤繕鏄殫锛屾殫搴曚寒瀛楋紝浜簳鏆楀瓧鐨勮鍒�
     public static readonly Color s_BrightPinkColor = new Color32(246, 64, 141, 255);
-    public static readonly Color s_BrightRedColor = new Color32(255, 3, 3, 255);
+    public static readonly Color s_BrightRedColor = new Color32(234, 38, 30, 255);
     public static readonly Color s_BrightPurpleColor = new Color32(218, 72, 213, 255);
     public static readonly Color s_BrightBlueColor = new Color32(0, 107, 227, 255); //006BE3FF
     public static readonly Color s_BrightOrangeColor = new Color32(255, 103, 1, 255); //FF6701FF
     public static readonly Color s_BrightWhiteColor = new Color32(104, 104, 104, 255); //686868
-    public static readonly Color s_BrightGreenColor = new Color32(16, 157, 6, 255); //109d06
+    public static readonly Color s_BrightGreenColor = new Color32(36, 139, 18, 255); //248b12
 
     public static readonly Color s_DarkPinkColor = new Color32(255, 124, 124, 255);
-    public static readonly Color s_DarkRedColor = new Color32(250, 1, 1, 255);
+    public static readonly Color s_DarkRedColor = new Color32(234, 38, 30, 255);
     public static readonly Color s_DarkPurpleColor = new Color32(236, 75, 246, 255);
     public static readonly Color s_DarkBlueColor = new Color32(49, 206, 251, 255);//31cefb
     public static readonly Color s_DarkOrangeColor = new Color32(248, 152, 59, 255);
-    public static readonly Color s_DarkWhiteColor = new Color32(247, 247, 247, 255);
-    public static readonly Color s_DarkGreenColor = new Color32(53, 225, 34, 255); //35e122
+    public static readonly Color s_DarkWhiteColor = new Color32(255, 255, 255, 255);    //ffffff
+    public static readonly Color s_DarkGreenColor = new Color32(42, 227, 55, 255);//2ae337
 
-    public static readonly Color s_NavyBrown = new Color32(64, 28, 6, 255);//401c06
+    public static readonly Color s_NavyBrown = new Color32(110, 76, 49, 255);//6e4c31
     public static readonly Color s_Black = new Color32(0, 0, 0, 255);
-    public static readonly Color s_NavyYellow = new Color32(255, 239, 71, 255);
-    public static readonly Color s_LightGreen = new Color32(141, 220, 17, 255);//8ddc11
-    public static readonly Color s_LightYellow = new Color32(255, 244, 205, 255); //fff4cd
-    public static readonly Color s_Gray = new Color32(204, 204, 204, 255);
+    public static readonly Color s_NavyYellow = new Color32(242, 238, 2, 255); //f2ee02
+    public static readonly Color s_LightGreen = new Color32(42, 227, 55, 255);//2ae337
+    public static readonly Color s_LightWhite = new Color32(245, 246, 230, 255); //f5f6e6
+    public static readonly Color s_Gray = new Color32(132, 121, 123, 255);  //84797b
     public static readonly Color s_Gold = new Color32(255, 239, 71, 255);//ffef47
     public static readonly Color s_EarthYellow = new Color32(248, 152, 59, 255);//f8983b
 
@@ -594,45 +592,62 @@
     //     return name;
     // }
 
+    //鐗╁搧 鍚勫姛鑳藉搧璐�
+    public static Color GetUIColorByFunc(int itemColor, bool bright = false)
+    {
+        return GetUIColor(itemColor + 1, bright);
+    }
+
+
+    //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐ㄤ粠2寮�濮� 鐢℅etUIColorByFunc
     public static Color GetUIColor(int itemColor, bool bright = false)
     {
         switch (itemColor)
         {
             case 0:
-                return GetUIColor(TextColType.White, bright);
+                return GetUIColor(TextColType.Gray, bright);
             case 1:
                 return GetUIColor(TextColType.White, bright);
             case 2:
-                return GetUIColor(TextColType.Blue, bright);
+                return GetUIColor(TextColType.itemjingliang, bright);
             case 3:
-                return GetUIColor(TextColType.Purple, bright);
+                return GetUIColor(TextColType.itemxiyou, bright);
             case 4:
-                return GetUIColor(TextColType.Orange, bright);
+                return GetUIColor(TextColType.itemshishi, bright);
             case 5:
-                return GetUIColor(TextColType.Red, bright);
+                return GetUIColor(TextColType.itemchuanqi, bright);
             case 6:
+                return GetUIColor(TextColType.itemshenhua, bright);
             case 7:
+                return GetUIColor(TextColType.itemwuxia, bright);
             case 8:
-                return GetUIColor(TextColType.Pink, bright);
+                return GetUIColor(TextColType.itemanjin, bright);
             case 9:
-                return GetUIColor(TextColType.Green, bright);
+                return GetUIColor(TextColType.itemjueyi, bright);
+            case 10:
+                return GetUIColor(TextColType.itemyuanzu, bright);
+            case 11:
+                return GetUIColor(TextColType.itembuxiu, bright);
+            case 12:
+                return GetUIColor(TextColType.itemyonghen, bright);
+
+
         }
         return GetUIColor(TextColType.White, bright);
     }
 
     public static Color GetUIColor(TextColType type, bool bright = false)
     {
+        //Bright 鍜� Dark鎸囪儗鏅壊绯绘槸鏄庤繕鏄殫锛屾殫搴曚寒瀛楋紝浜簳鏆楀瓧鐨勮鍒�
         switch (type)
         {
             case TextColType.None:
             case TextColType.White:
                 return bright ? s_BrightWhiteColor : s_DarkWhiteColor;  // s_BrightWhiteColor 鏄寒搴曠伆鑹�
-            case TextColType.Blue:
-                return bright ? s_BrightBlueColor : s_DarkBlueColor;
-            case TextColType.Purple:
-                return bright ? s_BrightPurpleColor : s_DarkPurpleColor;
-            case TextColType.Orange:
-                return bright ? s_BrightOrangeColor : s_DarkOrangeColor;
+            case TextColType.titleSelectColor:
+                return new Color32(127, 65, 57, 255);
+            case TextColType.titleUnSelectColor:
+                return new Color32(110, 92, 96, 255);
             case TextColType.Red:
                 return bright ? s_BrightRedColor : s_DarkRedColor;
             case TextColType.Pink:
@@ -645,75 +660,174 @@
                 return s_BrightGreenColor;
             case TextColType.Black:
                 return s_Black;
+            case TextColType.lightYellow:   //娴呴粍鑹�
+                return new Color32(252, 237, 185, 255);
             case TextColType.NavyYellow:
                 return s_NavyYellow;
             case TextColType.LightGreen:
                 return s_LightGreen;
-            case TextColType.LightYellow:
-                return s_LightYellow;
+            case TextColType.LightWhite:
+                return s_LightWhite;
             case TextColType.Gray:
                 return s_Gray;
+            case TextColType.itemjingliang:
+                // 729de4 绮捐壇
+                return new Color32(114, 157, 228, 255);
+            case TextColType.itemxiyou:
+                // c87bfa绋�鏈�
+                return new Color32(199, 123, 253, 255);
+            case TextColType.itemshishi:
+                // f6de56 鍙茶瘲
+                return new Color32(246, 222, 86, 255);
+            case TextColType.itemchuanqi:
+                // fe8534 浼犲
+                return new Color32(254, 133, 52, 255);
+            case TextColType.itemshenhua:
+                // fe4a47 绁炶瘽
+                return new Color32(254, 66, 71, 255);
+            case TextColType.itemwuxia:
+                // eb5ce9 鏃犵憰
+                return new Color32(235, 90, 233, 255);
+            case TextColType.itemanjin:
+                // f9e29f 鏆楅噾
+                return new Color32(254, 181, 68, 255);
+            case TextColType.itemjueyi:
+                // cdfef2 缁濊壓
+                return new Color32(205, 239, 242, 255);
+            case TextColType.itemyuanzu:
+                // dfbbed 鍏冪
+                return new Color32(223, 187, 237, 255);
+            case TextColType.itembuxiu:
+                // 5eeff2 涓嶆溄
+                return new Color32(94, 239, 242, 255);
+            case TextColType.itemyonghen:
+                // f5b4ea 姘告亽
+                return new Color32(245, 180, 234, 255);
         }
         return bright ? s_BrightWhiteColor : s_DarkWhiteColor;
+    }
+
+    //瀵瑰簲鍝佽川(鏍�)锛涚墿鍝� 鍚勫姛鑳藉搧璐ㄤ粠2寮�濮� 鐢℅etUIOutlineColorByFunc
+    public static Color GetUIOutlineColor(int quality)
+    {
+        return GetUIOutlineColor((QualityTextColType)quality);
+    }
+
+    //鐗╁搧 鍚勫姛鑳藉搧璐�
+    public static Color GetUIOutlineColorByFunc(int quality)
+    {
+        return GetUIOutlineColor((QualityTextColType)(quality + 1));
+    }
+
+    //鎻忚竟棰滆壊锛屽搴斿搧璐�(鏍�)
+    public static Color GetUIOutlineColor(QualityTextColType type)
+    {
+        switch (type)
+        {
+            case QualityTextColType.itemcucao:
+                // 2d2d2d 绮楃硻
+                return new Color32(45, 45, 45, 128);
+            case QualityTextColType.itemputong:
+                // 424242 鏅��
+                return new Color32(66, 66, 66, 128);
+            case QualityTextColType.itemjingliang:
+                // 172543 绮捐壇
+                return new Color32(23, 37, 67, 128);
+            case QualityTextColType.itemxiyou:
+                // 2a0f30 绋�鏈�
+                return new Color32(42, 15, 48, 128);
+            case QualityTextColType.itemshishi:
+                // 4a2f00 鍙茶瘲
+                return new Color32(74, 47, 0, 128);
+            case QualityTextColType.itemchuanqi:
+                // 451800 浼犲
+                return new Color32(69, 24, 0, 128);
+            case QualityTextColType.itemshenhua:
+                // 510000 绁炶瘽
+                return new Color32(81, 0, 0, 128);
+            case QualityTextColType.itemwuxia:
+                // 43003e 鏃犵憰
+                return new Color32(67, 0, 62, 128);
+            case QualityTextColType.itemanjin:
+                // 6f4401 鏆楅噾
+                return new Color32(111, 68, 1, 128);
+            case QualityTextColType.itemjueyi:
+                // 203995 缁濊壓
+                return new Color32(32, 57, 149, 128);
+            case QualityTextColType.itemyuanzu:
+                // 461f5d 鍏冪
+                return new Color32(70, 31, 93, 128);
+            case QualityTextColType.itembuxiu:
+                // 2e3975 涓嶆溄
+                return new Color32(46, 57, 117, 128);
+            case QualityTextColType.itemyonghen:
+                // 5d1d52 姘告亽
+                return new Color32(93, 29, 82, 128);
+            case QualityTextColType.red:
+                return s_BrightRedColor;
+        }
+        return new Color32(0, 0, 0, 128);
     }
 
     private static Regex m_TextColorRegex = new Regex("<color=#[0-9a-zA-Z]+>(.*)</color>", RegexOptions.Singleline);
 
     public static string AppendColor(TextColType type, string msg, bool bright = false)
     {
-        if (m_TextColorRegex.IsMatch(msg) && msg.ToLower().StartsWith("<color=#")
-            && msg.ToLower().EndsWith("</color>"))
-        {
-            Match match = m_TextColorRegex.Match(msg);
-            msg = match.Groups[1].Value;
-        }
+        // if (m_TextColorRegex.IsMatch(msg) && msg.ToLower().StartsWith("<color=#")
+        //     && msg.ToLower().EndsWith("</color>"))
+        // {
+        //     Match match = m_TextColorRegex.Match(msg);
+        //     msg = match.Groups[1].Value;
+        // }
         switch (type)
         {
             case TextColType.None:
             case TextColType.White:
                 return StringUtility.Contact("<color=#", bright ? "686868" : "f7f7f7", ">", msg, "</color>");
-            case TextColType.Blue:
-                return StringUtility.Contact("<color=#", bright ? "006be3" : "31cefb", ">", msg, "</color>");
-            case TextColType.Purple:
-                return StringUtility.Contact("<color=#", bright ? "da48d5" : "ec4bf6", ">", msg, "</color>");
-            case TextColType.Orange:
-                return StringUtility.Contact("<color=#", bright ? "ff6701" : "f8983b", ">", msg, "</color>");
+            case TextColType.titleSelectColor:
+                return StringUtility.Contact("<color=#7F4139>", msg, "</color>");
+            case TextColType.titleUnSelectColor:
+                return StringUtility.Contact("<color=#6E5C60>", msg, "</color>");
             case TextColType.Red:
-                return StringUtility.Contact("<color=#", bright ? "ff0303" : "ff0101", ">", msg, "</color>");
+                return StringUtility.Contact("<color=#", bright ? "ea261e" : "ea261e", ">", msg, "</color>");
             case TextColType.Pink:
                 return StringUtility.Contact("<color=#", bright ? "f6408d" : "ff7c7c", ">", msg, "</color>");
             case TextColType.Green:
                 return StringUtility.Contact("<color=#", bright ? "109d06" : "35e122", ">", msg, "</color>");
             case TextColType.NavyBrown:
-                return StringUtility.Contact("<color=#", "401c06", ">", msg, "</color>");
+                return StringUtility.Contact("<color=#", "6e4c31", ">", msg, "</color>");
             case TextColType.DarkGreen:
                 return StringUtility.Contact("<color=#", "109d06", ">", msg, "</color>");
             case TextColType.Black:
                 return StringUtility.Contact("<color=#", "000000", ">", msg, "</color>");
-            case TextColType.LightYellow:
-                return StringUtility.Contact("<color=#", "fff4cd", ">", msg, "</color>");
+            case TextColType.LightWhite:
+                return StringUtility.Contact("<color=#", "f5f646", ">", msg, "</color>");
             case TextColType.LightGreen:
                 return StringUtility.Contact("<color=#", "8ddc11", ">", msg, "</color>");
             case TextColType.Gray:
-                return StringUtility.Contact("<color=#", "686868", ">", msg, "</color>");
+                return StringUtility.Contact("<color=#", "84797b", ">", msg, "</color>");
+            case TextColType.lightYellow:
+                return StringUtility.Contact("<color=#", "fcedb9", ">", msg, "</color>");
+            case TextColType.NavyYellow:
+                return StringUtility.Contact("<color=#", "f2ee02", ">", msg, "</color>");
         }
         return msg;
     }
 
-    //needName 鎸囧鐣�0鏄惁闇�瑕佸悕绉�
-    // public static string GetRealmName(int realmLv, bool bright = false, bool needName = false)
-    // {
-    //     if (realmLv <= 0 && !needName)
-    //     {
-    //         return string.Empty;
-    //     }
-    //     var config = RealmConfig.Get(realmLv);
-    //     if (config == null)
-    //     {
-    //         return string.Empty;
-    //     }
-    //     return GetRealmColorByLv(realmLv, config.Name, bright);
-    // }
+    //needName 鎸囧畼鑱�0鏄惁闇�瑕佸悕绉�
+    public static string GetRealmName(int realmLv, bool bright = false, bool needName = false)
+    {
+        if (realmLv <= 0 && !needName)
+        {
+            return string.Empty;
+        }
+        var config = RealmConfig.Get(realmLv);
+        if (config == null)
+        {
+            return string.Empty;
+        }
+        return GetRealmColorByLv(realmLv, config.Name, bright);
+    }
 
     //strFormat闄勫姞 澧冪晫鍚嶄互澶栫殑鏂囧瓧
     //needName 鎸囧鐣�0鏄惁闇�瑕佸悕绉�
@@ -731,71 +845,67 @@
     //     return GetRealmColorByLv(realmLv, string.Format(strFormat, config.Name), bright);
     // }
 
-    // public static string GetRealmColorByLv(int realmLv, string msg, bool bright = false)
-    // {
-    //     var config = RealmConfig.Get(realmLv);
-    //     if (config == null)
-    //     {
-    //         return string.Empty;
-    //     }
-    //     switch (config.Quality)
-    //     {
-    //         case 1:
-    //             return StringUtility.Contact("<color=#", bright ? "666666" : "dddddd", ">", msg, "</color>");
-    //         case 2:
-    //             return StringUtility.Contact("<color=#", bright ? "00b337" : "66ff00", ">", msg, "</color>");
-    //         case 3:
-    //             return StringUtility.Contact("<color=#", bright ? "0066ff" : "00c6ff", ">", msg, "</color>");
-    //         case 4:
-    //             return StringUtility.Contact("<color=#", bright ? "ff00f6" : "f000ff", ">", msg, "</color>");
-    //         case 5:
-    //             return StringUtility.Contact("<color=#", bright ? "ff6600" : "ff9000", ">", msg, "</color>");
-    //         case 6:
-    //             return StringUtility.Contact("<color=#", bright ? "ff0000" : "ff0000", ">", msg, "</color>");
-    //         default:
-    //             return msg;
-    //     }
-    // }
+    public static string GetRealmColorByLv(int realmLv, string msg, bool bright = false)
+    {
+        var config = RealmConfig.Get(realmLv);
+        if (config == null)
+        {
+            return string.Empty;
+        }
+        switch (config.Quality)
+        {
+            case 1:
+                return StringUtility.Contact("<color=#", bright ? "666666" : "dddddd", ">", msg, "</color>");
+            case 2:
+                return StringUtility.Contact("<color=#", bright ? "00b337" : "66ff00", ">", msg, "</color>");
+            case 3:
+                return StringUtility.Contact("<color=#", bright ? "0066ff" : "00c6ff", ">", msg, "</color>");
+            case 4:
+                return StringUtility.Contact("<color=#", bright ? "ff00f6" : "f000ff", ">", msg, "</color>");
+            case 5:
+                return StringUtility.Contact("<color=#", bright ? "ff6600" : "ff9000", ">", msg, "</color>");
+            case 6:
+                return StringUtility.Contact("<color=#", bright ? "ff0000" : "ff0000", ">", msg, "</color>");
+            default:
+                return msg;
+        }
+    }
 
     public static string AppendColor(int itemColor, string msg, bool bright = false)
     {
         switch (itemColor)
         {
+
             case 0:
+                return AppendColor(TextColType.Gray, msg, bright);
             case 1:
                 return AppendColor(TextColType.White, msg, bright);
             case 2:
-                return AppendColor(TextColType.Blue, msg, bright);
+                return AppendColor(TextColType.itemjingliang, msg, bright);
             case 3:
-                return AppendColor(TextColType.Purple, msg, bright);
+                return AppendColor(TextColType.itemxiyou, msg, bright);
             case 4:
-                return AppendColor(TextColType.Orange, msg, bright);
+                return AppendColor(TextColType.itemshishi, msg, bright);
             case 5:
-                return AppendColor(TextColType.Red, msg, bright);
+                return AppendColor(TextColType.itemchuanqi, msg, bright);
             case 6:
+                return AppendColor(TextColType.itemshenhua, msg, bright);
             case 7:
+                return AppendColor(TextColType.itemwuxia, msg, bright);
             case 8:
-                return AppendColor(TextColType.Pink, msg, bright);
+                return AppendColor(TextColType.itemanjin, msg, bright);
             case 9:
-                return AppendColor(TextColType.Green, msg, bright);
+                return AppendColor(TextColType.itemjueyi, msg, bright);
+            case 10:
+                return AppendColor(TextColType.itemyuanzu, msg, bright);
+            case 11:
+                return AppendColor(TextColType.itembuxiu, msg, bright);
+            case 12:
+                return AppendColor(TextColType.itemyonghen, msg, bright);
+
         }
         return msg;
     }
-
-    // public static int GetItemColor(int _id, Dictionary<int, List<int>> _dict = null)
-    // {
-    //     int _itemColor = 0;
-    //     var _itemCfg = ItemConfig.Get(_id);
-    //     if (_itemCfg != null)
-    //     {
-    //         _itemColor = _itemCfg.ItemColor;
-    //         if (_itemCfg.Type == 113 && _dict != null)
-    //         {
-    //             _itemColor = ItemLogicUtility.Instance.GetItemQuality(_itemCfg.ID, _dict);
-    //         }
-    //     }
-    //     return _itemColor;
-    // }
 
     public static Color GetPropertyColor(int property)
     {
@@ -1070,8 +1180,13 @@
                 }
             case 41:
                 {
-                    //绗﹀嵃绮惧崕
-                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.RuneSplinters);
+                    //鎴橀敜
+                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default26);
+                }
+            case 42:
+                {
+                    //缁撴櫠
+                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default33);
                 }
             case 43:
                 {
@@ -1108,6 +1223,11 @@
                     //骞诲闃佺Н鍒�
                     return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default43);
                 }
+            case 51:
+                {
+                    //姝﹀皢鎷涘嫙绉垎
+                    return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default44);
+                }
             case 98:
                 {
                     //杩囨湡鍨嬩唬閲戝埜

--
Gitblit v1.8.0