From 3a7126b4f32c8770e59e0cc48266bb3fec06ccc4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 09 十二月 2025 14:02:02 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/HeroUI/HeroLVBreakWin.cs | 16 ++--
Main/System/HeroUI/HeroLVBreakSuccessWin.cs | 10 +-
Main/System/FirstCharge/FirstChargeManager.cs | 43 +++-------
Main/System/Main/HomeWin.cs | 10 +-
Main/Config/PartialConfigs/HeroQualityBreakConfig.cs | 6 -
Main/Config/Configs/HeroQualityBreakConfig.cs | 22 +----
Main/Config/PartialConfigs/HeroQualityLVConfig.cs | 6 +
Main/System/HeroUI/HeroUIManager.Reborn.cs | 4
Main/System/HeroUI/HeroTrainWin.cs | 66 ++++++++--------
Main/System/HeroUI/HeroUIManager.cs | 27 ++----
10 files changed, 87 insertions(+), 123 deletions(-)
diff --git a/Main/Config/Configs/HeroQualityBreakConfig.cs b/Main/Config/Configs/HeroQualityBreakConfig.cs
index 11ce604..a2c5261 100644
--- a/Main/Config/Configs/HeroQualityBreakConfig.cs
+++ b/Main/Config/Configs/HeroQualityBreakConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�8鏈�5鏃�
+// [ Date ]: Tuesday, December 9, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -19,8 +19,8 @@
public int QualityBreankID;
public int Quality;
public int BreakLV;
- public int LVMax;
- public int[] UPCostItem;
+ public int UPLVNeed;
+ public int[][] UPCostItemList;
public override int LoadKey(string _key)
{
@@ -38,21 +38,9 @@
int.TryParse(tables[2],out BreakLV);
- int.TryParse(tables[3],out LVMax);
+ int.TryParse(tables[3],out UPLVNeed);
- if (tables[4].Contains("["))
- {
- UPCostItem = JsonMapper.ToObject<int[]>(tables[4]);
- }
- else
- {
- string[] UPCostItemStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
- UPCostItem = new int[UPCostItemStringArray.Length];
- for (int i=0;i<UPCostItemStringArray.Length;i++)
- {
- int.TryParse(UPCostItemStringArray[i],out UPCostItem[i]);
- }
- }
+ UPCostItemList = JsonMapper.ToObject<int[][]>(tables[4].Replace("(", "[").Replace(")", "]"));
}
catch (Exception exception)
{
diff --git a/Main/Config/PartialConfigs/HeroQualityBreakConfig.cs b/Main/Config/PartialConfigs/HeroQualityBreakConfig.cs
index 7f47470..1d70b9d 100644
--- a/Main/Config/PartialConfigs/HeroQualityBreakConfig.cs
+++ b/Main/Config/PartialConfigs/HeroQualityBreakConfig.cs
@@ -4,7 +4,6 @@
public partial class HeroQualityBreakConfig : ConfigBase<int, HeroQualityBreakConfig>
{
public static Dictionary<int, Dictionary<int, HeroQualityBreakConfig>> configDics = new Dictionary<int, Dictionary<int, HeroQualityBreakConfig>>();
- public static Dictionary<int, int> maxlvDic = new Dictionary<int, int>();
protected override void OnConfigParseCompleted()
{
base.OnConfigParseCompleted();
@@ -17,10 +16,7 @@
}
tempDic[BreakLV] = this;
- if (!maxlvDic.ContainsKey(LVMax) || LVMax > maxlvDic[Quality])
- {
- maxlvDic[Quality] = LVMax;
- }
+
}
diff --git a/Main/Config/PartialConfigs/HeroQualityLVConfig.cs b/Main/Config/PartialConfigs/HeroQualityLVConfig.cs
index fa0f2ea..081442a 100644
--- a/Main/Config/PartialConfigs/HeroQualityLVConfig.cs
+++ b/Main/Config/PartialConfigs/HeroQualityLVConfig.cs
@@ -4,7 +4,7 @@
public partial class HeroQualityLVConfig : ConfigBase<int, HeroQualityLVConfig>
{
public static Dictionary<int, Dictionary<int, HeroQualityLVConfig>> configDics = new Dictionary<int, Dictionary<int, HeroQualityLVConfig>>();
-
+ public static Dictionary<int, int> maxlvDic = new Dictionary<int, int>();
protected override void OnConfigParseCompleted()
{
@@ -16,6 +16,10 @@
}
tempDic.Add(HeroLV, this);
+ if (!maxlvDic.ContainsKey(Quality) || HeroLV > maxlvDic[Quality])
+ {
+ maxlvDic[Quality] = HeroLV;
+ }
}
public static HeroQualityLVConfig GetQualityLVConfig(int quality, int lv)
diff --git a/Main/System/FirstCharge/FirstChargeManager.cs b/Main/System/FirstCharge/FirstChargeManager.cs
index 34f8ba8..c647081 100644
--- a/Main/System/FirstCharge/FirstChargeManager.cs
+++ b/Main/System/FirstCharge/FirstChargeManager.cs
@@ -329,19 +329,20 @@
OnUpdateFirstChargeInfo?.Invoke();
}
+ public string key { get { return StringUtility.Contact("FirstCharge_AllRewardsClaimed_Time_", PlayerDatas.Instance.baseData.PlayerID); } }
+
/// <summary>
/// 妫�鏌ユ槸鍚︽墍鏈夐鍏呭鍔遍兘宸查鍙栵紝濡傛灉鏄紝鍒欏皢褰撳墠鏈嶅姟鍣ㄦ椂闂翠繚瀛樺埌鏈湴
/// </summary>
private void CheckAndSaveAllRewardsClaimedTime()
{
- // 妫�鏌ユ槸鍚︽墍鏈夊鍔遍兘宸查鍙�
- if (IsAllFirstChargeRewardsClaimed())
- {
- // 鐢熸垚涓�涓敮涓�鐨勯敭鏉ュ瓨鍌ㄦ椂闂�
- string key = $"FirstCharge_AllRewardsClaimed_Time_{PlayerDatas.Instance.baseData.PlayerID}";
- // 灏嗗綋鍓嶆湇鍔″櫒鏃堕棿淇濆瓨鍒版湰鍦�
- LocalSave.SetString(key, TimeUtility.ServerNow.Ticks.ToString());
- }
+ if (LocalSave.HasKey(key))
+ return;
+ // 鎵�鏈夊鍔遍兘宸查鍙�?
+ if (!IsAllFirstChargeRewardsClaimed())
+ return;
+ // 灏嗗綋鍓嶆湇鍔″櫒鏃堕棿淇濆瓨鍒版湰鍦�
+ LocalSave.SetInt(key, TimeUtility.AllSeconds);
}
public void UpdateRedPoint()
{
@@ -461,31 +462,13 @@
// 妫�鏌ユ槸鍚﹀凡缁忚繃浜嗘墍鏈夊鍔遍鍙栧畬姣曞悗鐨勭浜屽ぉ0鐐�
public bool IsNextDayAfterAllClaimed()
{
- // 鐢熸垚涓�涓敮涓�鐨勯敭鏉ヨ幏鍙栨椂闂�
- string key = $"FirstCharge_AllRewardsClaimed_Time_{PlayerDatas.Instance.baseData.PlayerID}";
-
- // 妫�鏌ユ槸鍚﹀瓨鍦ㄨ褰曠殑鏃堕棿鎴�
if (!LocalSave.HasKey(key))
return false;
-
- // 鑾峰彇璁板綍鐨勬椂闂存埑
- string timeString = LocalSave.GetString(key);
- if (string.IsNullOrEmpty(timeString))
+ int time = LocalSave.GetInt(key);
+ if (time <= 0)
return false;
-
- // 瑙f瀽鏃堕棿鎴�
- if (!long.TryParse(timeString, out long ticks))
- return false;
-
- // 灏嗘椂闂存埑杞崲涓篋ateTime
- DateTime allRewardsClaimedTime = new DateTime(ticks);
-
- // 璁$畻绗簩澶�0鐐圭殑鏃堕棿
- DateTime nextDayStart = allRewardsClaimedTime.Date.AddDays(1);
-
- // 鍒ゆ柇褰撳墠鏈嶅姟鍣ㄦ椂闂存槸鍚﹀凡缁忚繃浜嗙浜屽ぉ0鐐�
- DateTime serverNow = TimeUtility.ServerNow;
- return serverNow >= nextDayStart;
+ DateTime endDateTime = TimeUtility.GetTime((uint)time).Date.AddDays(1);
+ return TimeUtility.ServerNow >= endDateTime;
}
}
diff --git a/Main/System/HeroUI/HeroLVBreakSuccessWin.cs b/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
index 2812657..be6d76e 100644
--- a/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
+++ b/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
@@ -12,8 +12,8 @@
[SerializeField] Text breakLVText;
[SerializeField] Text nextBreakLVText;
- [SerializeField] Text lvText;
- [SerializeField] Text nextLVText;
+ // [SerializeField] Text lvText;
+ // [SerializeField] Text nextLVText;
[SerializeField] Text[] attrPerTextArr;
[SerializeField] Text[] nextAttrPerTextArr;
[SerializeField] Text potentialText;
@@ -47,10 +47,10 @@
{
breakLVText.text = "+" + (hero.breakLevel - 1);
nextBreakLVText.text = "+" + hero.breakLevel;
- var beforeBreakLVConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel - 1);
- lvText.text = beforeBreakLVConfig.LVMax.ToString();
+ // var beforeBreakLVConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel - 1);
+ // lvText.text = beforeBreakLVConfig.LVMax.ToString();
- nextLVText.text = hero.qualityBreakConfig.LVMax.ToString();
+ // nextLVText.text = hero.qualityBreakConfig.LVMax.ToString();
for (int i = 0; i < attrPerTextArr.Length; i++)
{
diff --git a/Main/System/HeroUI/HeroLVBreakWin.cs b/Main/System/HeroUI/HeroLVBreakWin.cs
index 36c8025..04fab68 100644
--- a/Main/System/HeroUI/HeroLVBreakWin.cs
+++ b/Main/System/HeroUI/HeroLVBreakWin.cs
@@ -12,8 +12,8 @@
[SerializeField] Text breakLVText;
[SerializeField] Text nextBreakLVText;
- [SerializeField] Text lvText;
- [SerializeField] Text nextLVText;
+ // [SerializeField] Text lvText;
+ // [SerializeField] Text nextLVText;
[SerializeField] Text[] attrPerTextArr;
[SerializeField] Text[] nextAttrPerTextArr;
[SerializeField] Text potentialText;
@@ -49,10 +49,10 @@
{
breakLVText.text = "+" + hero.breakLevel;
nextBreakLVText.text = "+" + (hero.breakLevel + 1);
- lvText.text = hero.qualityBreakConfig.LVMax.ToString();
+ // lvText.text = hero.qualityBreakConfig.LVMax.ToString();
- var nextBreakLVConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel + 1);
- nextLVText.text = nextBreakLVConfig.LVMax.ToString();
+ // var nextBreakLVConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel + 1);
+ // nextLVText.text = nextBreakLVConfig.LVMax.ToString();
for (int i = 0; i < attrPerTextArr.Length; i++)
{
@@ -65,8 +65,8 @@
hero.qualityConfig.BreakLVAddPer * (hero.breakLevel + 1));
}
- moneyIcon.SetOrgSprite(ItemConfig.Get(hero.qualityBreakConfig.UPCostItem[0]).IconKey);
- moneyText.text = UIHelper.ShowUseItem(PackType.Item, hero.qualityBreakConfig.UPCostItem[0], hero.qualityBreakConfig.UPCostItem[1]);
+ moneyIcon.SetOrgSprite(ItemConfig.Get(hero.qualityBreakConfig.UPCostItemList[0][0]).IconKey);
+ moneyText.text = UIHelper.ShowUseItem(PackType.Item, hero.qualityBreakConfig.UPCostItemList[0][0], hero.qualityBreakConfig.UPCostItemList[0][1]);
var nextQualityBreakConfig = HeroBreakConfig.GetHeroBreakConfig(hero.heroId, hero.breakLevel + 1);
if (nextQualityBreakConfig == null)
@@ -101,7 +101,7 @@
void BreakLV()
{
- if (ItemLogicUtility.CheckItemCount(PackType.Item, hero.qualityBreakConfig.UPCostItem[0], hero.qualityBreakConfig.UPCostItem[1], 2))
+ if (ItemLogicUtility.CheckItemCount(PackType.Item, hero.qualityBreakConfig.UPCostItemList[0][0], hero.qualityBreakConfig.UPCostItemList[0][1], 2))
{
var pack = new CB232_tagCSHeroBreak();
pack.ItemIndex = (ushort)hero.itemHero.gridIndex;
diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index c7b2f20..fd0dfd3 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -454,16 +454,16 @@
lvupBtnText.text = Language.Get("L1109");
lvupMoneyIcon.SetActive(true);
- if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
+ // if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
+ // {
+ // lvupBtnText.text = Language.Get("L1111");
+ // var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
+ // lvupMoneyIcon.SetOrgSprite(ItemConfig.Get(breakConfig.UPCostItemList[0][0]).IconKey);
+ // lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, breakConfig.UPCostItemList[0][0], breakConfig.UPCostItemList[0][1]);
+ // }
+ // else
{
- lvupBtnText.text = Language.Get("L1111");
- var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
- lvupMoneyIcon.SetOrgSprite(ItemConfig.Get(breakConfig.UPCostItem[0]).IconKey);
- lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, breakConfig.UPCostItem[0], breakConfig.UPCostItem[1]);
- }
- else
- {
- lvupBtnText.text = Language.Get("L1109");
+ // lvupBtnText.text = Language.Get("L1109");
var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
lvupMoneyIcon.SetOrgSprite(ItemConfig.Get(lvupConfig.UPCostItem[0]).IconKey);
lvupMoneyText.text = UIHelper.ShowUseItem(PackType.Item, lvupConfig.UPCostItem[0], lvupConfig.UPCostItem[1]);
@@ -484,16 +484,16 @@
{
int itemID = 0;
long needCount = 0;
- if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
- {
- //绐佺牬
- if (!UIManager.Instance.IsOpened<HeroLVBreakWin>())
- {
- HeroUIManager.Instance.selectHeroGuid = guid;
- UIManager.Instance.OpenWindow<HeroLVBreakWin>();
- }
- }
- else
+ // if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
+ // {
+ // //绐佺牬
+ // if (!UIManager.Instance.IsOpened<HeroLVBreakWin>())
+ // {
+ // HeroUIManager.Instance.selectHeroGuid = guid;
+ // UIManager.Instance.OpenWindow<HeroLVBreakWin>();
+ // }
+ // }
+ // else
{
//鍗囩骇
var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
@@ -834,20 +834,20 @@
redpointGift.SetActive(true);
}
- var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
- if (hero.breakLevel < maxBreakLV)
- {
- if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
- {
- var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
- if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
- {
- redpointLVUP.SetActive(true);
- return;
- }
- return;
- }
- }
+ // var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
+ // if (hero.breakLevel < maxBreakLV)
+ // {
+ // if (HeroUIManager.Instance.IsCanBreak(hero))
+ // {
+ // var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
+ // if (itemPack.GetCountById(breakConfig.UPCostItemList[0][0]) >= breakConfig.UPCostItemList[0][1])
+ // {
+ // redpointLVUP.SetActive(true);
+ // return;
+ // }
+ // return;
+ // }
+ // }
if (!HeroUIManager.Instance.IsLVMax(hero))
{
diff --git a/Main/System/HeroUI/HeroUIManager.Reborn.cs b/Main/System/HeroUI/HeroUIManager.Reborn.cs
index 2156bf8..f17f8e8 100644
--- a/Main/System/HeroUI/HeroUIManager.Reborn.cs
+++ b/Main/System/HeroUI/HeroUIManager.Reborn.cs
@@ -55,8 +55,8 @@
for (int i = 0; i < lv; i++)
{
var config = HeroQualityBreakConfig.GetQualityBreakConfig(quality, i);
- var itemID = config.UPCostItem[0];
- var count = config.UPCostItem[1];
+ var itemID = config.UPCostItemList[0][0];
+ var count = config.UPCostItemList[0][1];
if (!itemCounDic.ContainsKey(itemID))
{
itemCounDic[itemID] = count;
diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs
index e8f86b2..5f556fc 100644
--- a/Main/System/HeroUI/HeroUIManager.cs
+++ b/Main/System/HeroUI/HeroUIManager.cs
@@ -178,7 +178,7 @@
public int GetMaxLV(int quality)
{
- return HeroQualityBreakConfig.maxlvDic[quality];
+ return HeroQualityLVConfig.maxlvDic[quality];
}
//鏄惁杈惧埌鏈�楂樼骇
@@ -187,25 +187,16 @@
return hero.heroLevel >= GetMaxLV(hero.Quality);
}
- //绐佺牬闄愬埗鐨勬渶楂樼瓑绾�; 濡傛灉瀛樺湪绐佺牬绛夌骇鍚庝笉鑳藉啀鍗囩骇鏄瓥鍒掗厤缃棶棰�
- public int GetMaxLVByBreakLV(int quality, int breakLevel)
+ //绐佺牬鎵�闇�绛夌骇
+ public int GetNeedLVByBreakLV(int quality, int breakLevel)
{
- // for (int i = breakLevel; i >= 0; i--)
- // {
- // var config = HeroQualityBreakConfig.GetQualityBreakConfig(quality, i);
- // if (config == null)
- // {
- // continue;
- // }
- // return config.LVMax;
- // }
- return HeroQualityBreakConfig.GetQualityBreakConfig(quality, breakLevel).LVMax;
+ return HeroQualityBreakConfig.GetQualityBreakConfig(quality, breakLevel).UPLVNeed;
}
- //鏄惁杈惧埌鍥犵獊鐮撮檺鍒剁殑鏈�楂樼骇
- public bool IsLVMaxByBreakLevel(HeroInfo hero)
+ //鏄惁杈惧埌鍙獊鐮寸殑鏉′欢
+ public bool IsCanBreak(HeroInfo hero)
{
- return hero.heroLevel == GetMaxLVByBreakLV(hero.Quality, hero.breakLevel);
+ return hero.heroLevel >= GetNeedLVByBreakLV(hero.Quality, hero.breakLevel);
}
public int GetAllHeroPer()
@@ -508,10 +499,10 @@
var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
if (hero.breakLevel < maxBreakLV)
{
- if (IsLVMaxByBreakLevel(hero))
+ if (IsCanBreak(hero))
{
var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
- if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
+ if (itemPack.GetCountById(breakConfig.UPCostItemList[0][0]) >= breakConfig.UPCostItemList[0][1])
{
return 3;
}
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 599bafc..c639f73 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -599,15 +599,17 @@
private void DisplayFirstChargeBtn()
{
- bool isFirstChargeFuncOpen = FirstChargeManager.Instance.IsFuncOpen();
- if (FirstChargeManager.Instance.IsAllFirstChargeRewardsClaimed() &&
- FirstChargeManager.Instance.IsNextDayAfterAllClaimed())
+ bool isFuncOpen = FirstChargeManager.Instance.IsFuncOpen();
+ bool isAllHave = FirstChargeManager.Instance.IsAllFirstChargeRewardsClaimed();
+ bool isNextDay = FirstChargeManager.Instance.IsNextDayAfterAllClaimed();
+
+ if (isAllHave && isNextDay)
{
FirstChargeBtn.SetActive(false);
}
else
{
- FirstChargeBtn.SetActive(isFirstChargeFuncOpen);
+ FirstChargeBtn.SetActive(isFuncOpen);
}
}
--
Gitblit v1.8.0