From 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 05 十一月 2025 17:40:23 +0800
Subject: [PATCH] 130 战斗修改回合样式
---
Main/Utility/UIHelper.cs | 461 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 226 insertions(+), 235 deletions(-)
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 665b56e..8767f39 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -69,20 +69,49 @@
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);
+ if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
+ {
+ _image.SetOrgSprite(ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey);
+ }
+ else
+ {
+ // 鏆備笉鑰冭檻瀵屾枃鏈殑鎯呭喌
+ // 涓嶉渶瑕佺墿鍝佺殑鎯呭喌琛ュ厖
+ // string iconKey = StringUtility.Contact("Money_Type_", moneyType);
+ Debug.LogError("MoneyDisplayModel 鏈厤缃揣甯佺被鍨嬶細" + moneyType);
+ }
}
public static string GetIconNameWithMoneyType(int moneyType)
{
- return StringUtility.Contact("Money_Type_", moneyType);
+ if (IconConfig.HasKey("MoneyType_" + moneyType))
+ {
+ //瀵屾枃鏈樉绀虹殑鎯呭喌
+ return IconConfig.Get("MoneyType_" + moneyType).sprite;
+ }
+ else if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
+ {
+ return ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey;
+ }
+ else
+ {
+ Debug.LogError("MoneyDisplayModel 鏈厤缃揣甯佺被鍨嬶細" + moneyType);
+ return "";
+ }
+ }
+
+ // 閫氳繃璐у竵绫诲瀷鑾峰彇鐗╁搧ID
+ public static int GetItemIDWithMoneyType(int moneyType)
+ {
+ if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType))
+ {
+ return GeneralDefine.MoneyDisplayModel[moneyType];
+ }
+ else
+ {
+ Debug.LogError("MoneyDisplayModel 鏈厤缃揣甯佺被鍨嬶細" + moneyType);
+ return 0;
+ }
}
/// <summary>
@@ -165,7 +194,7 @@
}
/// <summary>
- /// 鑾峰彇娑堥�濈殑鏃堕棿
+ /// 鑾峰彇杩囧幓鐨勬椂闂�
/// </summary>
/// <param name="lastTime"></param>
/// <returns></returns>
@@ -178,166 +207,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>
@@ -351,17 +221,10 @@
return val.Replace(@"</r>", "\n");
}
- public static double numto2Decimals(double value)
- {
- //涓轰粈涔堣value * 1000/10 杩欎箞鍐欙紝鐗规畩鐨勬暟瀛椾細鏈夐棶棰橈紝姣斿36.80000锛屼細(int)(value * 100)琚绠椾负3679
- //娴嬭瘯涓嬪彧鏈�30鍑犵偣8000鐨勬墠浼氳繖鏍�
- return (int)(value * 1000 / 10) / 100.00;
- }
/// <summary>
- /// 澶ф暟鍊艰浆鍖� 鏍煎紡 鏈�澶氫袱涓皬鏁�
+ /// 澶ф暟鍊艰浆鍖� 鏍煎紡 鏈�澶氫袱涓皬鏁� ,鍚戜笅鍙栨暣
/// K -鍗冿紝M -鐧捐惉锛孊-鍗佸剟锛孴 -钀剟
- /// 涓嶅洓鑸嶄簲鍏ワ紝涓嶇敤Math.Round锛屽洜涓哄綋鐜╁鍙湁23.3456,浣嗘槸Math.Round浼氭樉绀�23.35, 褰撹喘涔颁环鏍间负23.35鏃舵棤娉曡喘涔扮殑
/// </summary>
public static string ReplaceLargeNum(double num)
{
@@ -372,23 +235,23 @@
if (num >= T)
{
- return StringUtility.Contact(numto2Decimals(num / T).ToString("0.##"), Language.Get("L1070_0"));
+ return StringUtility.Contact(FormatWithoutRounding(num / T, 2), Language.Get("L1070_0"));
}
else if (num >= B)
{
- return StringUtility.Contact(numto2Decimals(num / B).ToString("0.##"), Language.Get("L1070_1"));
+ return StringUtility.Contact(FormatWithoutRounding(num / B, 2), Language.Get("L1070_1"));
}
else if (num >= M)
{
- return StringUtility.Contact(numto2Decimals(num / M).ToString("0.#"), Language.Get("L1070"));
+ return StringUtility.Contact(FormatWithoutRounding(num / M, 1), Language.Get("L1070"));
}
else if (num >= K)
{
- return StringUtility.Contact(numto2Decimals(num / K).ToString("0.#"), Language.Get("L1071"));
+ return StringUtility.Contact(FormatWithoutRounding(num / K, 1), Language.Get("L1071"));
}
else
{
- return numto2Decimals(num).ToString("0.#");
+ return FormatWithoutRounding(num, 1);
}
}
@@ -402,25 +265,34 @@
if (num >= T)
{
- return StringUtility.Contact(numto2Decimals(num / T).ToString("0.##"), "t");
+ return StringUtility.Contact(FormatWithoutRounding(num / T, 2), "t");
}
else if (num >= B)
{
- return StringUtility.Contact(numto2Decimals(num / B).ToString("0.##"), "b");
+ return StringUtility.Contact(FormatWithoutRounding(num / B, 2), "b");
}
else if (num >= M)
{
- return StringUtility.Contact(numto2Decimals(num / M).ToString("0.#"), "m");
+ return StringUtility.Contact(FormatWithoutRounding(num / M, 1), "m");
}
else if (num >= K)
{
- return StringUtility.Contact(numto2Decimals(num / K).ToString("0.#"), "k");
+ return StringUtility.Contact(FormatWithoutRounding(num / K, 1), "k");
}
else
{
- return numto2Decimals(num).ToString("0.#");
+ return FormatWithoutRounding(num, 1);
}
}
+
+ //鏍规嵁灏忔暟浣嶆暟鐩存帴鎴柇涓嶅仛鍥涜垗浜斿叆
+ public static string FormatWithoutRounding(double value, int decimalPlaces)
+ {
+ double factor = Math.Pow(10, decimalPlaces);
+ double truncated = Math.Truncate(value * factor) / factor;
+ return truncated.ToString($"0.{new string('#', decimalPlaces)}");
+ }
+
// 杞寲澶ф暟鍊煎甫鍗曚綅鐨勬樉绀猴紝濡傛灉灏忎簬200000鍒欐樉绀哄師鍊硷紝鍚﹀垯鏄剧ず澶ф暟鍊�
public static string ReplaceLargeNumEx(double num)
@@ -475,6 +347,13 @@
return false;
}
+ // 妫�鏌ュ瓧绗︿覆鏄笉鏄函鏁存暟
+ public static bool IsNumeric(string input)
+ {
+ return int.TryParse(input, out _);
+ }
+
+
public static string GetColorNameByItemColor(int itemColor)
{
switch (itemColor)
@@ -523,7 +402,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(187, 187, 187, 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
@@ -694,6 +573,8 @@
return s_LightWhite;
case TextColType.Gray:
return s_Gray;
+ case TextColType.NavyGray:
+ return new Color32(121, 121, 121, 255);
case TextColType.itemjingliang:
// 729de4 绮捐壇
return new Color32(114, 157, 228, 255);
@@ -825,7 +706,7 @@
// 5d1d52 姘告亽
return new Color32(93, 29, 82, 128);
case QualityTextColType.red:
- return s_BrightRedColor;
+ return s_DarkRedColor;
}
return new Color32(0, 0, 0, 128);
}
@@ -854,11 +735,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 +747,9 @@
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.NavyGray:
+ return StringUtility.Contact("<color=#797979>", msg, "</color>");
case TextColType.lightYellow:
return StringUtility.Contact("<color=#fcedb9>", msg, "</color>");
case TextColType.NavyYellow:
@@ -900,13 +783,37 @@
return StringUtility.Contact("<color=#dfbbed>", msg, "</color>");
case TextColType.itembuxiu:
// 5eeff2 涓嶆溄
- return StringUtility.Contact("<color=#5eeff2>", msg, "</color>");
+ return StringUtility.Contact("<color=#5eeff2>", msg, "</color>");
case TextColType.itemyonghen:
// f5b4ea 姘告亽
return StringUtility.Contact("<color=#f5b4ea>", msg, "</color>");
}
return msg;
}
+
+ public static string AppendColor(Color color, string msg)
+ {
+ return StringUtility.Contact("<color=#", ColorToHexWithHash(color), ">", msg, "</color>");
+ }
+
+
+ public static string ColorToHexWithHash(Color color, bool includeAlpha = false)
+ {
+ int r = Mathf.RoundToInt(color.r * 255);
+ int g = Mathf.RoundToInt(color.g * 255);
+ int b = Mathf.RoundToInt(color.b * 255);
+ if (includeAlpha)
+ {
+ int a = Mathf.RoundToInt(color.a * 255);
+ return string.Format("{0:X2}{1:X2}{2:X2}{3:X2}", r, g, b, a);
+ }
+ else
+ {
+ return string.Format("{0:X2}{1:X2}{2:X2}", r, g, b);
+ }
+ }
+
+
//needName 鎸囧畼鑱�0鏄惁闇�瑕佸悕绉�
public static string GetRealmName(int realmLv, bool bright = true, bool needName = false)
@@ -920,7 +827,7 @@
{
return string.Empty;
}
- return GetRealmColorByLv(realmLv, config.Name, bright);
+ return AppendColor(realmLv, config.Name, bright);
}
//strFormat闄勫姞 澧冪晫鍚嶄互澶栫殑鏂囧瓧
@@ -939,31 +846,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>
@@ -972,7 +879,7 @@
/// <param name="itemColor"></param>
/// <param name="msg"></param>
/// <param name="bright"></param>
- /// <param name="colorGroupType"></param>
+ /// <param name="colorGroupType">0 閫氱敤鍔熻兘鍝佽川鍒嗙粍绮捐壇鍒扮璇�</param>
/// <returns></returns>
public static string AppendColor(int itemColor, string msg, bool bright = true, int colorGroupType = 0)
{
@@ -1050,7 +957,7 @@
}
#endregion
-
+
#region 寰楀埌閲戦挶鏁伴噺鏍规嵁閲戦挶绫诲瀷
@@ -1083,8 +990,21 @@
return 0;
}
+ //璐у竵瀵瑰簲0418绫诲瀷
+ public static Dictionary<int, PlayerDataType> moneyTypeToPlayerDataType = new Dictionary<int, PlayerDataType>()
+ {
+ {1, PlayerDataType.Gold},
+ {2, PlayerDataType.GoldPaper},
+ {3, PlayerDataType.Silver},
+ {15, PlayerDataType.UnionLiven},
+ {41, PlayerDataType.default26},
+ {43, PlayerDataType.default34},
+ {42, PlayerDataType.default33},
+ {53, PlayerDataType.ChallengeVoucher},
+ {99, PlayerDataType.ExAttr11},
+ };
- public static ulong GetMoneyCnt(int moneyType)
+ public static long GetMoneyCnt(int moneyType)
{
switch (moneyType)
{
@@ -1102,7 +1022,7 @@
}
case 18:
{
- return (ulong)PlayerDatas.Instance.extersion.honorValue;
+ return PlayerDatas.Instance.extersion.honorValue;
}
case 25:
{
@@ -1111,10 +1031,11 @@
}
case 24:
{
- return (ulong)PlayerDatas.Instance.extersion.runeChip;
+ return PlayerDatas.Instance.extersion.runeChip;
}
case 15:
{
+ // 鍏細璐$尞甯�
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.UnionLiven);
//return (ulong)ModelCenter.Instance.GetModel<StoreModel>().GetTCBPlayerData(PlayerDataType.UnionLiven);
}
@@ -1180,7 +1101,7 @@
}
case 43:
{
- //鍑瘉绉垎
+ //灏嗛瓊
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default34);
}
case 44:
@@ -1218,6 +1139,16 @@
//姝﹀皢鎷涘嫙绉垎
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.default44);
}
+ case 52:
+ {
+ //娣橀噾浠�
+ return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.GoldRush);
+ }
+ case 53:
+ {
+ //鎸戞垬鍑瘉
+ return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.ChallengeVoucher);
+ }
case 98:
{
//杩囨湡鍨嬩唬閲戝埜
@@ -1232,28 +1163,64 @@
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, bool showLargeNum = false)
{
- ulong cnt = GetMoneyCnt(moneyType);
- return AppendColor(useCnt <= cnt ? engoughColor : TextColType.Red, $"{ReplaceLargeNum(useCnt)}/{ReplaceLargeNum(cnt)}");
+ long cnt = GetMoneyCnt(moneyType);
+ if (showLargeNum)
+ return AppendColor(useCnt <= cnt ? TextColType.Green : TextColType.Red, $"{ReplaceLargeNum(cnt)}/{useCnt}");
+ else
+ return AppendColor(useCnt <= cnt ? TextColType.Green : TextColType.Red, $"{cnt}/{useCnt}");
}
- public static string ShowUseItem(PackType type, int itemId, ulong useCnt, TextColType engoughColor = TextColType.Green)
+ public static string ShowUseItem(PackType type, int itemId, long useCnt, bool showLargeNum = false)
{
- ulong cnt = PackManager.Instance.GetItemCountByID(type, itemId);
- return AppendColor(useCnt <= cnt ? engoughColor : TextColType.Red, $"{ReplaceLargeNum(useCnt)}/{ReplaceLargeNum(cnt)}");
+ long cnt = PackManager.Instance.GetItemCountByID(type, itemId);
+ if (showLargeNum)
+ return AppendColor(useCnt <= cnt ? TextColType.Green : TextColType.Red, $"{ReplaceLargeNum(cnt)}/{useCnt}");
+ else
+ return AppendColor(useCnt <= cnt ? TextColType.Green : TextColType.Red, $"{cnt}/{useCnt}");
}
+
+
+ /// <param name="needTips">0 涓嶅搷搴� 1 寮规彁绀� 2 寮硅幏鍙栭�斿緞tips</param>
+ public static bool CheckMoneyCount(int moneyType, long needCount, int needTips = 0)
+ {
+ if (needCount <= 0)
+ {
+ return true;
+ }
+
+ long haveCount = GetMoneyCnt(moneyType);
+
+ bool isEnough = haveCount >= needCount;
+
+ if (!isEnough)
+ {
+ if (needTips == 1)
+ {
+ SysNotifyMgr.Instance.ShowTip("LackMoney", moneyType);
+ }
+ else if (needTips == 2)
+ {
+ ItemTipUtility.ShowMoneyTip(moneyType);
+ }
+ }
+
+ return isEnough;
+ }
+
#endregion
#region 寰楀埌瑁呭浣嶆垨鑰呯绂忔爲鍝佽川鍚嶇О 甯﹂鑹�
- public static string GetQualityNameWithColor(int quality, string format="{0}")
+ public static string GetQualityNameWithColor(int quality, string format = "{0}")
{
return AppendColor(quality, string.Format(format, Language.Get("equipQuality" + quality)), true, 1);
}
@@ -1333,13 +1300,15 @@
return content;
}
+ //妫�鏌ュ悕瀛楅暱搴︼紝鐜╁鍚嶅拰鍏細鍚�
+ //涓嶅悓鍥藉闀垮害涓嶅悓锛屾帓鐗堜笉鍚�
public static bool SatisfyNameLength(string name, out int error)
{
error = 0;
//bool pureChinese = Regex.IsMatch(name, "^[\u4e00-\u9fa5]+$");
//var chsCount = GetChsCount(name);
int length = Encoding.Default.GetBytes(name).Length;
- var maxlength = 20;
+ var maxlength = 14; //绾腑鏂囦笉寤鸿瓒呰繃7涓瓧
var minlength = 3;
if (length > maxlength)
{
@@ -1437,4 +1406,26 @@
return money / scale;
}
+
+ public static string RemoveColor(string content)
+ {
+ content = WordAnalysis.Color_Start_Regex.Replace(content, string.Empty);
+ content = WordAnalysis.Color_End_Regex.Replace(content, string.Empty);
+ return content;
+ }
+
+ //澶嶅埗鍒板壀璐存澘
+ // TODO 鏆備笉鏀寔web鍚庣画琛ュ厖
+ public static void CopyToClipboard(string text)
+ {
+ GUIUtility.systemCopyBuffer = text;
+ Debug.Log("鏂囧瓧宸插鍒跺埌鍓创鏉�: " + text);
+ }
+
+ //鑾峰彇鍓垏鏉垮唴瀹�
+ public static string GetClipboardText()
+ {
+ return GUIUtility.systemCopyBuffer;
+ }
+
}
--
Gitblit v1.8.0