From a4b35ff86cabe501e5c1743c430cda080d27f4f8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 01 九月 2025 14:30:21 +0800
Subject: [PATCH] 50 【主界面】核心主体 - 修复新号初始关卡问题

---
 Main/Utility/UIHelper.cs |  274 +++++++++++++-----------------------------------------
 1 files changed, 67 insertions(+), 207 deletions(-)

diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 665b56e..2f6bf80 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -69,20 +69,28 @@
     public static void SetIconWithMoneyType(this Image _image, int moneyType)
     {
         if (_image == null) return;
-        string iconKey = StringUtility.Contact("Money_Type_", moneyType);
-        _image.SetSprite(iconKey);
-    }
-
-    public static void SetSmallIconWithMoneyType(this Image _image, int moneyType)
-    {
-        if (_image == null) return;
-        string iconKey = StringUtility.Contact("SmallMoney", moneyType);
-        _image.SetSprite(iconKey);
+        // string iconKey = StringUtility.Contact("Money_Type_", moneyType);
+        if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
+        {
+            _image.SetOrgSprite(ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey);
+        }
+        else
+        { 
+            Debug.LogError("MoneyDisplayModel 涓洪厤缃揣甯佺被鍨嬶細" + moneyType);
+        }
     }
 
     public static string GetIconNameWithMoneyType(int moneyType)
     {
-        return StringUtility.Contact("Money_Type_", moneyType);
+        if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
+        {
+            return ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey;
+        }
+        else
+        {
+            Debug.LogError("MoneyDisplayModel 涓洪厤缃揣甯佺被鍨嬶細" + moneyType);
+            return "";
+        }
     }
 
     /// <summary>
@@ -178,166 +186,7 @@
         else if (span.TotalMinutes > 1) return Math.Floor(span.TotalMinutes) + Language.Get("L1073");
         else return 1 + Language.Get("L1073");
     }
-    /// <summary>
-    /// 鏍规嵁灞炴�ц幏鍙栫帺瀹舵暟鎹�
-    /// </summary>
-    /// <param name="type"></param>
-    /// <returns></returns>
-    public static ulong GetPropertyValue(PropertyType type)
-    {
-        switch (type)
-        {
-            case PropertyType.LV:
-                return PlayerDatas.Instance.baseData.LV;
-            case PropertyType.POWER:
-                return (ulong)PlayerDatas.Instance.baseData.STR;
-            case PropertyType.AGILITY:
-                return (ulong)PlayerDatas.Instance.baseData.PHY;
-            case PropertyType.PHYSIQUE:
-                return (ulong)PlayerDatas.Instance.baseData.CON;
-            case PropertyType.MENTALITY:
-                return (ulong)PlayerDatas.Instance.baseData.PNE;
-            case PropertyType.HP:
-                return PlayerDatas.Instance.extersion.MaxHP;
-            case PropertyType.ATK:
-                return (ulong)PlayerDatas.Instance.extersion.MAXATK;
-            case PropertyType.DEF:
-                return (ulong)PlayerDatas.Instance.extersion.DEF;
-            case PropertyType.HIT:
-                return (ulong)PlayerDatas.Instance.extersion.HIT;
-            case PropertyType.MISS:
-                return (ulong)PlayerDatas.Instance.extersion.Miss;
-            case PropertyType.ATKSPEED:
-                return (ulong)PlayerDatas.Instance.extersion.battleValEx1;
-            case PropertyType.CritChance:
-                return (ulong)PlayerDatas.Instance.extersion.SuperHitRate;
-            case PropertyType.CritHurt:
-                return (ulong)PlayerDatas.Instance.extersion.SuperHit;
-            case PropertyType.CritResis:
-                return (ulong)PlayerDatas.Instance.extersion.SuperHitReduce;
-            case PropertyType.HeartHit:
-                return (ulong)PlayerDatas.Instance.extersion.luckHitRate;
-            case PropertyType.HeartHurt:
-                return (ulong)PlayerDatas.Instance.extersion.luckHitVal;
-            case PropertyType.HeartResis:
-                return (ulong)PlayerDatas.Instance.extersion.LuckyHitRateReduce;
-            case PropertyType.SkillHurt:
-                return (ulong)PlayerDatas.Instance.extersion.SkillAtkRate;
-            case PropertyType.PVPAddHurt:
-                return (ulong)PlayerDatas.Instance.extersion.DamagePVP;
-            case PropertyType.PVPReduceHurt:
-                return PlayerDatas.Instance.GetPlayerDataByType((PlayerDataType)191);
-            case PropertyType.LifeReply:
-                return (ulong)PlayerDatas.Instance.extersion.HPRestorePer;
-            case PropertyType.HurtReflect:
-                return (ulong)PlayerDatas.Instance.extersion.DamageBackRate;
-            case PropertyType.MoveSpeed:
-                return (ulong)PlayerDatas.Instance.extersion.SpeedValue;
-            case PropertyType.PetAddHurt:
-                return (ulong)PlayerDatas.Instance.extersion.PetDamPer;
-            case PropertyType.RealHurt:
-                return (ulong)PlayerDatas.Instance.extersion.realATK;
-            case PropertyType.RealResis:
-                return (ulong)PlayerDatas.Instance.extersion.realDEF;
-            case PropertyType.DefyDef:
-                return (ulong)PlayerDatas.Instance.extersion.IgnoreDefRate;
-            case PropertyType.DefyDefResis:
-                return (ulong)PlayerDatas.Instance.extersion.IgnoreDefRateReduce;
-            case PropertyType.DefChance:
-                return (ulong)PlayerDatas.Instance.extersion.DamChanceDef;
-            case PropertyType.BloodHurt:
-                return (ulong)PlayerDatas.Instance.extersion.BleedDamage;
-            case PropertyType.AktReplyBlood:
-                return (ulong)PlayerDatas.Instance.extersion.BattleValEx2;
-            case PropertyType.Stun:
-                return (ulong)PlayerDatas.Instance.extersion.FaintRate;
-            case PropertyType.CtrlResis:
-                return (ulong)PlayerDatas.Instance.extersion.FaintDefRate;
-            case PropertyType.AddFinalHurt:
-                return (ulong)PlayerDatas.Instance.extersion.FinalHurt;
-            case PropertyType.ReduceFinalHurt:
-                return (ulong)PlayerDatas.Instance.extersion.FinalHurtReduce;
-            case PropertyType.PVPAddHurtPer:
-                return (ulong)PlayerDatas.Instance.extersion.DamagePerPVP;
-            case PropertyType.PVPReduceHurtPer:
-                return (ulong)PlayerDatas.Instance.extersion.DamagePerPVPReduce;
-            case PropertyType.DleHitChance:
-                return (ulong)PlayerDatas.Instance.extersion.ComboDamPerRate;
-            case PropertyType.DleHurt:
-                return (ulong)PlayerDatas.Instance.extersion.ComboDamPer;
-            case PropertyType.ReduceSkillHurtPercent:
-                return (ulong)PlayerDatas.Instance.extersion.skillAtkRateReduce;
-            case PropertyType.NpcHurtAddPer:
-                return (ulong)PlayerDatas.Instance.extersion.NpcHurtAddPer;
-            case PropertyType.Luck:
-                return (ulong)PlayerDatas.Instance.extersion.luckValue;
-            case PropertyType.Mater:
-                return (ulong)PlayerDatas.Instance.baseData.mater;
-            case PropertyType.Wood:
-                return (ulong)PlayerDatas.Instance.baseData.wood;
-            case PropertyType.Water:
-                return (ulong)PlayerDatas.Instance.baseData.water;
-            case PropertyType.Fire:
-                return (ulong)PlayerDatas.Instance.baseData.fire;
-            case PropertyType.Earth:
-                return (ulong)PlayerDatas.Instance.baseData.earth;
-            case PropertyType.ReduceCrit:
-                return (ulong)PlayerDatas.Instance.baseData.reduceCrit;
-            case PropertyType.ReduceHeartHurtPer:
-                return (ulong)PlayerDatas.Instance.baseData.reduceHeartHurt;
-            case PropertyType.ReduceFinalHurtPer:
-                return (ulong)PlayerDatas.Instance.baseData.reduceFinalHurt;
-            case PropertyType.AtkPercent:
-            case PropertyType.CritHurtPercent:
-            case PropertyType.DodgePercent:
-                // return (ulong)ModelCenter.Instance.GetModel<ReikiRootModel>().GetReikiPropertyValue((int)type);
-                // TODO YYL
-                return 0ul;
-            case PropertyType.SkillAddPerA:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerA;
-            case PropertyType.SkillAddPerB:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerB;
-            case PropertyType.SkillAddPerC:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerC;
-            case PropertyType.SkillAddPerD:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerD;
-            case PropertyType.SkillAddPerE:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerE;
-            case PropertyType.SkillAddPerF:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerF;
-            case PropertyType.SkillAddPerG:
-                return (ulong)PlayerDatas.Instance.baseData.skillAddPerG;
-            case PropertyType.SkillReducePerA:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerA;
-            case PropertyType.SkillReducePerB:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerB;
-            case PropertyType.SkillReducePerC:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerC;
-            case PropertyType.SkillReducePerD:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerD;
-            case PropertyType.SkillReducePerE:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerE;
-            case PropertyType.SkillReducePerF:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerF;
-            case PropertyType.SkillReducePerG:
-                return (ulong)PlayerDatas.Instance.baseData.skillReducePerG;
-            case PropertyType.ReduceSkillCDPer:
-                return (ulong)PlayerDatas.Instance.extersion.battleValEx3;
-            case PropertyType.AddFinalHurtPer:
-                return (ulong)PlayerDatas.Instance.extersion.FunalHurtPer;
-            case PropertyType.AddNormalHurt:
-                return (ulong)PlayerDatas.Instance.baseData.NormalHurt;
-            case PropertyType.AddNormalHurtPer:
-                return (ulong)PlayerDatas.Instance.baseData.NormalHurtPer;
-            case PropertyType.AddSkillHurt:
-                return (ulong)PlayerDatas.Instance.baseData.FabaoHurt;
-            case PropertyType.AddSkillHurtPer:
-                return (ulong)PlayerDatas.Instance.baseData.FabaoHurtPer;
-            case PropertyType.AddPVEHurt:
-                return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.DamagePVE);
-        }
-        return 0;
-    }
+
 
 
     /// <summary>
@@ -523,7 +372,7 @@
     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_Gray = new Color32(104, 104, 104,255);  //bbbbbb
     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
 
@@ -854,11 +703,11 @@
             case TextColType.Pink:
                 return StringUtility.Contact("<color=#", bright ? "f6408d" : "ff7c7c", ">", msg, "</color>");
             case TextColType.Green:
-                return StringUtility.Contact("<color=#", bright ? "109d06" : "2ae337", ">", msg, "</color>");
+                return StringUtility.Contact("<color=#", bright ? "248B12" : "2ae337", ">", msg, "</color>");
             case TextColType.NavyBrown:
                 return StringUtility.Contact("<color=#6e4c31>", msg, "</color>");
             case TextColType.DarkGreen:
-                return StringUtility.Contact("<color=#109d06>", msg, "</color>");
+                return StringUtility.Contact("<color=#248B12>", msg, "</color>");
             case TextColType.Black:
                 return StringUtility.Contact("<color=#000000>", msg, "</color>");
             case TextColType.LightWhite:
@@ -866,7 +715,7 @@
             case TextColType.LightGreen:
                 return StringUtility.Contact("<color=#8ddc11>", msg, "</color>");
             case TextColType.Gray:
-                return StringUtility.Contact("<color=#84797b>", msg, "</color>");
+                return StringUtility.Contact("<color=#bbbbbb>", msg, "</color>");
             case TextColType.lightYellow:
                 return StringUtility.Contact("<color=#fcedb9>", msg, "</color>");
             case TextColType.NavyYellow:
@@ -920,7 +769,7 @@
         {
             return string.Empty;
         }
-        return GetRealmColorByLv(realmLv, config.Name, bright);
+        return AppendColor(realmLv, config.Name, bright);
     }
 
     //strFormat闄勫姞 澧冪晫鍚嶄互澶栫殑鏂囧瓧
@@ -939,31 +788,31 @@
     //     return GetRealmColorByLv(realmLv, string.Format(strFormat, config.Name), bright);
     // }
 
-    public static string GetRealmColorByLv(int realmLv, string msg, bool bright = true)
-    {
-        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 = true)
+    // {
+    //     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;
+    //     }
+    // }
 
     //鐗╁搧 鍚勫姛鑳藉搧璐�  浠庣簿鑹�1鍝佽川 瀵瑰簲 3寮�濮�
     /// <summary>
@@ -1083,8 +932,18 @@
         return 0;
     }
 
+    //璐у竵瀵瑰簲0418绫诲瀷
+    public static Dictionary<int, PlayerDataType> moneyTypeToPlayerDataType = new Dictionary<int, PlayerDataType>()
+    {
+        {1, PlayerDataType.Gold},
+        {2, PlayerDataType.GoldPaper},
+        {3, PlayerDataType.Silver},
+        {41, PlayerDataType.default26},
+        {42, PlayerDataType.default33},
 
-    public static ulong GetMoneyCnt(int moneyType)
+    };
+
+    public static long GetMoneyCnt(int moneyType)
     {
         switch (moneyType)
         {
@@ -1102,7 +961,7 @@
                 }
             case 18:
                 {
-                    return (ulong)PlayerDatas.Instance.extersion.honorValue;
+                    return PlayerDatas.Instance.extersion.honorValue;
                 }
             case 25:
                 {
@@ -1111,7 +970,7 @@
                 }
             case 24:
                 {
-                    return (ulong)PlayerDatas.Instance.extersion.runeChip;
+                    return PlayerDatas.Instance.extersion.runeChip;
                 }
             case 15:
                 {
@@ -1232,21 +1091,22 @@
         return 0;
     }
 
+
     public static int GetAllVourcher()
     {
         return (int)GetMoneyCnt(98) + (int)GetMoneyCnt(99);
     }
 
     //鏄剧ず鏁伴噺, 鏍煎紡n/m, 瓒冲缁胯壊涓嶈冻绾㈣壊
-    public static string ShowUseMoney(int moneyType, ulong useCnt, TextColType engoughColor = TextColType.Green)
+    public static string ShowUseMoney(int moneyType, long useCnt, TextColType engoughColor = TextColType.Green)
     {
-        ulong cnt = GetMoneyCnt(moneyType);
+        long cnt = GetMoneyCnt(moneyType);
         return AppendColor(useCnt <= cnt ? engoughColor : TextColType.Red, $"{ReplaceLargeNum(useCnt)}/{ReplaceLargeNum(cnt)}");
     }
 
-    public static string ShowUseItem(PackType type, int itemId, ulong useCnt, TextColType engoughColor = TextColType.Green)
+    public static string ShowUseItem(PackType type, int itemId, long useCnt, TextColType engoughColor = TextColType.Green)
     {
-        ulong cnt = PackManager.Instance.GetItemCountByID(type, itemId);
+        long cnt = PackManager.Instance.GetItemCountByID(type, itemId);
         return AppendColor(useCnt <= cnt ? engoughColor : TextColType.Red, $"{ReplaceLargeNum(useCnt)}/{ReplaceLargeNum(cnt)}");
     }
 

--
Gitblit v1.8.0