From acab2a61380638fd374ad2d0a5d4caff84aa7cdc Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 13 十一月 2025 19:25:45 +0800
Subject: [PATCH] 0312 优化引导,在引导前先处理装备,然后再出现引导
---
Main/Config/Configs/GuideConfig.cs | 8 +++++++-
Main/System/Battle/BattleField/StoryBattleField.cs | 2 +-
Main/System/NewBieGuidance/NewBieCenter.cs | 38 +++++++++++++++++++++++++++++---------
3 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/Main/Config/Configs/GuideConfig.cs b/Main/Config/Configs/GuideConfig.cs
index 6ae4012..81253a8 100644
--- a/Main/Config/Configs/GuideConfig.cs
+++ b/Main/Config/Configs/GuideConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�10鏈�11鏃�
+// [ Date ]: Thursday, November 13, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -24,6 +24,8 @@
public int PreGuideId;
public int[] Steps;
public int NoRecord;
+ public int Priority;
+ public int PauseMainBattle;
public override int LoadKey(string _key)
{
@@ -62,6 +64,10 @@
}
int.TryParse(tables[7],out NoRecord);
+
+ int.TryParse(tables[8],out Priority);
+
+ int.TryParse(tables[9],out PauseMainBattle);
}
catch (Exception exception)
{
diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index 0a8440f..93f1aba 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -323,7 +323,7 @@
//鏆傚仠鐨勫師鍥犳湁寰堝锛岄渶瑕佹鏌ュ悇绉嶇姸鎬�
protected override bool CanResumeGame()
{
- if (NewBieCenter.Instance.IsNeedRecord(NewBieCenter.Instance.currentGuide))
+ if (NewBieCenter.Instance.IsPauseMainBattle(NewBieCenter.Instance.currentGuide))
{
return false;
}
diff --git a/Main/System/NewBieGuidance/NewBieCenter.cs b/Main/System/NewBieGuidance/NewBieCenter.cs
index 07b4f66..b81dc25 100644
--- a/Main/System/NewBieGuidance/NewBieCenter.cs
+++ b/Main/System/NewBieGuidance/NewBieCenter.cs
@@ -25,7 +25,7 @@
public bool inGuiding
{
// 褰撳墠鏈夊紩瀵硷紝骞朵笖涓嶆槸鏆傚仠鐘舵�侊紝鍒欏湪寮曞涓�
- get { return currentGuide != 0 && IsNeedRecord(currentGuide); }
+ get { return currentGuide != 0 && IsPauseMainBattle(currentGuide); }
}
List<int> allGuides = new List<int>();
@@ -203,10 +203,11 @@
return false;
}
- if (currentGuide != 0 && GuideConfig.Get(currentGuide).NoRecord == 0)
+ int curPriority = -1;
+ var curGuide = GuideConfig.Get(currentGuide);
+ if (curGuide != null)
{
- // 鍙噸澶嶈Е鍙戠殑寮曞灞炰簬浣庝紭鍏堢骇 浼氳鏂板紩瀵兼浛鎹�
- return false;
+ curPriority = curGuide.Priority;
}
for (int i = 0; i < _guides.Count; i++)
@@ -216,7 +217,7 @@
{
continue;
}
-
+
var config = GuideConfig.Get(guideId);
if (config.PreGuideId != 0 && !completeGuidesBuf.Contains(config.PreGuideId))
{
@@ -224,8 +225,15 @@
continue;
}
+ if (config.Priority <= curPriority)
+ {
+ // 楂樹紭鍏堢骇鎵嶅彲浠ユ墦鏂綆鐨�
+ continue;
+ }
+
if (currentGuide != guideId && CheckGuideCondition(guideId, isOrgTrigger))
{
+
return StartNewBieGuide(guideId);
}
}
@@ -234,11 +242,13 @@
}
- bool WaitGuide(int _id)
+ bool WaitGuide(GuideConfig config)
{
- var config = GuideConfig.Get(_id);
//瑕佸紩瀵肩殑鐣岄潰涓婃湁鍏朵粬鐣岄潰鐩栦綇锛屽姞鍏ラ槦鍒楃瓑寰呭叾浠栫晫闈㈠叧闂殑鏃跺�欏啀瑙﹀彂璇ョ晫闈㈠紩瀵�
- if (UIManager.Instance.ExistAnyFullScreenOrMaskWinAbove(config.WinName))
+ // 鎴栬�呯瓑寰呮嬀鍙栬澶囧悗鍐嶅紩瀵�
+ if (UIManager.Instance.ExistAnyFullScreenOrMaskWinAbove(config.WinName) ||
+ (config.PauseMainBattle == 1 && PackManager.Instance.GetItems(PackType.DropItem).Count > 0
+ && config.WinName != "EquipExchangeWin"))
{
//濡傛灉瀛愮晫闈㈡槸蹇呴』鎸傚湪璇ョ晫闈笂鍒囦笖娌℃湁钂欑増鐩栦綇鐨勫彲浠ュ鍔犲垽鏂�
if (!waitGuideWinNames.Contains(config.WinName))
@@ -269,7 +279,7 @@
return false;
}
- if (WaitGuide(_id))
+ if (WaitGuide(config))
{
return false;
}
@@ -313,6 +323,16 @@
}
+ public bool IsPauseMainBattle(int _id)
+ {
+ var config = GuideConfig.Get(_id);
+ if (config == null)
+ {
+ return false;
+ }
+ return GuideConfig.Get(_id).PauseMainBattle == 1;
+ }
+
//闈�0浠h〃 鍙噸澶嶅紩瀵硷紝涓斾紭鍏堢骇浣庝細琚柊寮曞鏇挎崲锛屼笖涓嶆殏鍋滀富绾挎垬鏂�
public bool IsNeedRecord(int _id)
{
--
Gitblit v1.8.0