From 61b784c4ba16fc56ef1e83cd12701af2ac9ee723 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 15 十二月 2025 15:46:03 +0800
Subject: [PATCH] 0312 每次战斗后3秒内验证是否提醒点击战锤;官职提升按钮只在能提升时才提醒
---
Main/System/Battle/BattleManager.cs | 6 ++-
Main/System/OfficialRank/OfficialUpWin.cs | 16 ++++++++
Main/System/Battle/BattleWin.cs | 62 +++++++++++++++++++++++++-----
Main/System/InternalAffairs/GoldRushTentCell.cs | 2
4 files changed, 72 insertions(+), 14 deletions(-)
diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 04ff29f..cb7df74 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -31,10 +31,11 @@
public Dictionary<int, int> passDict = new Dictionary<int, int>();
public Dictionary<int, int> foreverPrivilegePassDict = new Dictionary<int, int>();
- public int fightGuideID;
+ public int fightBossGuideID;
public int fightGuideMainLevelLimit;
public int fightGuideNoClickSeconds;
public int[] challengeBossGuides;
+ public int fightBGuideID;
public Action<string, BattleField> onBattleFieldCreate;
@@ -59,10 +60,11 @@
speedGear = JsonMapper.ToObject<float[]>(config.Numerical4);
config = FuncConfigConfig.Get("FightGuide");
- fightGuideID = int.Parse(config.Numerical1);
+ fightBossGuideID = int.Parse(config.Numerical1);
fightGuideMainLevelLimit = int.Parse(config.Numerical2);
fightGuideNoClickSeconds = int.Parse(config.Numerical3);
challengeBossGuides = JsonMapper.ToObject<int[]>(config.Numerical4);
+ fightBGuideID = int.Parse(config.Numerical5);
config = FuncConfigConfig.Get("BattleButton");
defaultPassRound = int.Parse(config.Numerical1);
diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 4535bff..d38bfbb 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -14,8 +14,11 @@
private BattleField battleField;
- float lastClickTime;
+ float lastClickTime; //鐐瑰嚮BOSS鎸戞垬
bool needGuide = false;
+
+ float lastAnyClickTime; // 浠讳綍鐐瑰嚮
+
// 鐢熷懡鍛ㄦ湡
protected override void InitComponent()
{
@@ -49,6 +52,7 @@
protected override void OnPreOpen()
{
lastClickTime = Time.realtimeSinceStartup;
+ lastAnyClickTime = Time.realtimeSinceStartup;
UIManager.Instance.OnCloseWindow += OnCloseWindow;
PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
@@ -165,18 +169,10 @@
if (!needGuide)
return;
- // if (Input.GetMouseButtonDown(0))
- // {
- // lastClickTime = Time.realtimeSinceStartup;
- // }
-
+ UpdateAnyClickTime();
if (Time.realtimeSinceStartup - lastClickTime > BattleManager.Instance.fightGuideNoClickSeconds)
{
- // if (AutoFightModel.Instance.isAutoAttack)
- // {
- // return;
- // }
if (NewBieCenter.Instance.inGuiding)
{
@@ -193,10 +189,54 @@
return;
}
- NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightGuideID);
+ NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightBossGuideID);
needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
BattleManager.Instance.storyBattleField.IsPause = false;
lastClickTime = Time.realtimeSinceStartup;
}
}
+
+ void UpdateAnyClickTime()
+ {
+ if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AutoFight))
+ {
+ return;
+ }
+
+
+ if (Time.realtimeSinceStartup - lastAnyClickTime > 3)
+ {
+ lastAnyClickTime = Time.realtimeSinceStartup;
+ if (NewBieCenter.Instance.currentGuide != 0)
+ {
+ // 鏂版墜寮曞涓笉鍏佽鐐瑰嚮
+ return;
+ }
+
+ if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(""))
+ {
+ return;
+ }
+
+ if (TaskManager.Instance.GetMainTaskState() == 2)
+ {
+ return;
+ }
+
+ if (BattleManager.Instance.storyBattleField != null &&
+ BattleManager.Instance.storyBattleField.recordPlayer.IsPlaying())
+ {
+ return;
+ }
+
+
+ NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightBGuideID);
+ BattleManager.Instance.storyBattleField.IsPause = false;
+ lastAnyClickTime = Time.realtimeSinceStartup;
+ }
+
+ }
+
+
+
}
diff --git a/Main/System/InternalAffairs/GoldRushTentCell.cs b/Main/System/InternalAffairs/GoldRushTentCell.cs
index 139b8d7..a4e98d4 100644
--- a/Main/System/InternalAffairs/GoldRushTentCell.cs
+++ b/Main/System/InternalAffairs/GoldRushTentCell.cs
@@ -616,7 +616,7 @@
return;
}
- if (!UIHelper.CheckMoneyCount(52, 1, 1))
+ if (!UIHelper.CheckMoneyCount(52, 1, 2))
{
return;
}
diff --git a/Main/System/OfficialRank/OfficialUpWin.cs b/Main/System/OfficialRank/OfficialUpWin.cs
index 6af5d5f..ceda2ac 100644
--- a/Main/System/OfficialRank/OfficialUpWin.cs
+++ b/Main/System/OfficialRank/OfficialUpWin.cs
@@ -23,6 +23,7 @@
[SerializeField] ButtonEx lvUpBtn;
[SerializeField] UIEffectPlayer effectPlayer;
[SerializeField] UIEffectPlayer upEffect;
+ [SerializeField] Image redLVUPImg;
protected override void InitComponent()
{
@@ -74,6 +75,20 @@
RefreshBtn();
}
+
+ bool IsRealLvUp()
+ {
+ var ids = RealmLVUPTaskConfig.GetMissionIDs(PlayerDatas.Instance.baseData.realmLevel);
+ foreach (var id in ids)
+ {
+ if (OfficialRankManager.Instance.GetMissionAwardState(id) != 1)
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
void OnLvUp()
{
@@ -133,6 +148,7 @@
// }
// }
// lvUpBtn.SetColorful(null, true);
+ redLVUPImg.SetActive(IsRealLvUp());
}
--
Gitblit v1.8.0