From a247c56a0c15ca9d730e2c5c376b63fa461f62ce Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 九月 2025 16:26:19 +0800
Subject: [PATCH] 0312 自动战斗倍率,修复规则界面滑动问题
---
Main/System/Battle/BattleField/BattleField.cs | 2 +-
Main/System/Main/AutoFightModel.cs | 13 ++++++++-----
Main/System/Battle/BattleManager.cs | 21 +++++++++++++++++++++
Main/System/Battle/FullScreenBattleWin.cs | 10 ++++------
Main/System/Setting/QuickSetting.cs | 3 +++
Main/System/Tip/FuncRuleWin.cs | 2 ++
6 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 76f228b..5a2ae2d 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -121,7 +121,7 @@
battleRootNode.SetBackground(ResManager.Instance.LoadAsset<Texture>("Texture/FullScreenBg", "mainui_img_277"));
SetBattleStartState();
- SetSpeedRatio(speedRatio);
+ SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);
SetRootNodePosition();
}
diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 966d0e7..9e688d8 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -10,6 +10,19 @@
// 鍚屾椂鍙兘鏈変竴鍦烘垬鏂楀湪杩涜 guid, battlefield
protected Dictionary<string, BattleField> battleFields = new Dictionary<string, BattleField>();
+ public float[] speedGear; //鎴樻枟鍊嶆暟瀵瑰簲鐨勫疄闄呴�熺巼
+ public int speedIndex
+ {
+ get
+ {
+ return QuickSetting.Instance.GetQuickSettingValue<int>(QuickSettingType.BattleSpeed, 0);
+ }
+ set
+ {
+ QuickSetting.Instance.SetQuickSetting(QuickSettingType.BattleSpeed, value);
+ QuickSetting.Instance.SendPackage();
+ }
+ }
public Action<string, BattleField> onBattleFieldCreate;
@@ -24,9 +37,17 @@
LogicEngine.Instance.OnUpdate += Run;
DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit;
+ ParseConfig();
}
+ void ParseConfig()
+ {
+ var config = FuncConfigConfig.Get("AutoGuaji");
+ speedGear = JsonMapper.ToObject<float[]>(config.Numerical4);
+ }
+
+
public override void Release()
{
base.Release();
diff --git a/Main/System/Battle/FullScreenBattleWin.cs b/Main/System/Battle/FullScreenBattleWin.cs
index 854af97..93c722b 100644
--- a/Main/System/Battle/FullScreenBattleWin.cs
+++ b/Main/System/Battle/FullScreenBattleWin.cs
@@ -4,7 +4,6 @@
public class FullScreenBattleWin : UIBase
{
- float[] speedGear = { 1.1f, 1.3f, 1.5f };
// 缁勪欢寮曠敤
public Transform mountPoint;
@@ -63,10 +62,9 @@
if (null == battleField)
return;
- int index = Array.IndexOf(speedGear, battleField.speedRatio);
- index = (index + 1) % speedGear.Length;
- battleField.SetSpeedRatio(speedGear[index]);
- textSpeed.text = (index + 1).ToString();
+ BattleManager.Instance.speedIndex = (BattleManager.Instance.speedIndex + 1) % BattleManager.Instance.speedGear.Length;
+ battleField.SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);
+ textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
}
private void PauseGame()
@@ -164,6 +162,6 @@
ui.SetBattleField(battleField);
battleField.UpdateCanvas(canvas);
- textSpeed.text = (Array.IndexOf(speedGear, battleField.speedRatio) + 1).ToString();
+ textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString();
}
}
diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index d4387c2..752b95b 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -7,7 +7,7 @@
using UnityEngine;
public class AutoFightModel : GameSystemManager<AutoFightModel>
{
- //鎴樻枟鍊嶆暟锛氬�艰秺澶ц秺蹇紝褰卞搷鎴樻枟琛ㄧ幇锛屾帀钀介�熷害绛�
+ //鎴樻枟鍊嶆暟锛氬�艰秺澶ц秺蹇紝褰卞搷鎴樻枟琛ㄧ幇锛屾帀钀介�熷害绛夛紝杩欓噷鐨勫�嶆暟鏄储寮曪紝瀵瑰簲閰嶇疆閲岀殑瀹為檯閫熺巼
public int fightSpeed
{
get
@@ -17,7 +17,9 @@
}
set
{
- QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_Speed, value);
+ var num = Math.Max(1, value);
+ BattleManager.Instance.storyBattleField.SetSpeedRatio(BattleManager.Instance.speedGear[num - 1]);
+ QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_Speed, num);
}
}
@@ -82,17 +84,18 @@
public event Action ChangeAutoEvent;
- public int maxSpeed = 3; //鏈�楂橀�熷害
+ public int maxSpeed = 3; //鏈�楂橀�熷害 绱㈠紩
public int maxCost; //鏈�楂樻秷鑰�
public int[] autoCostWithBlessLV; //鑷姩鎴樻枟娑堣�楀�嶆暟鍏宠仈绁濈绛夌骇
public int speed2UnlockMissionID;
public int speed3UnlockCTGID;
+
public override void Init()
{
ParseConfig();
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit;
BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
-
+
EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
}
@@ -191,7 +194,7 @@
return;
}
-
+ BattleManager.Instance.storyBattleField.SetSpeedRatio(BattleManager.Instance.speedGear[fightSpeed - 1]);
isAutoAttack = isAutoAttackSet;
//鎵嬪姩浼氫竴鐩磋繘鍏ヨ繖涓�昏緫, 鑷姩瑙﹀彂涓�娆�
diff --git a/Main/System/Setting/QuickSetting.cs b/Main/System/Setting/QuickSetting.cs
index 7fd38c4..c1199d5 100644
--- a/Main/System/Setting/QuickSetting.cs
+++ b/Main/System/Setting/QuickSetting.cs
@@ -18,6 +18,8 @@
quickSettingDic.Add(QuickSettingType.AutoFight_FightPower, new QuickSettingRange(QuickSettingType.AutoFight_FightPower, 2, 1));
quickSettingDic.Add(QuickSettingType.AutoFight_Open, new QuickSettingRange(QuickSettingType.AutoFight_Open, 3, 1));
quickSettingDic.Add(QuickSettingType.AutoGoldRush, new QuickSettingRange(QuickSettingType.AutoGoldRush, 4, 10, 1)); //鑷姩娣橀噾锛�9涓墿鍝佸�硷紝1涓嚜鍔ㄥ埛鏂板紑鍏�
+ quickSettingDic.Add(QuickSettingType.BattleSpeed, new QuickSettingRange(QuickSettingType.BattleSpeed, 14, 1));
+
setting = new string(UCharacter, 100);
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
@@ -160,6 +162,7 @@
AutoFight_FightPower, //鏄惁楂樻垬鍔涘仠姝�
AutoFight_Open, //鏄惁寮�鍚嚜鍔ㄦ垬鏂�
AutoGoldRush, //鑷姩娣橀噾
+ BattleSpeed, //鎴樻枟閫熷害绱㈠紩 闈炰富绾块儴鍒�
}
public class QuickSettingRange
diff --git a/Main/System/Tip/FuncRuleWin.cs b/Main/System/Tip/FuncRuleWin.cs
index 6ae2541..3728fdb 100644
--- a/Main/System/Tip/FuncRuleWin.cs
+++ b/Main/System/Tip/FuncRuleWin.cs
@@ -7,6 +7,7 @@
{
[SerializeField] Text m_Title;
[SerializeField] Text m_RuleTxt;
+ [SerializeField] ScrollRect m_ScrollRect;
// [SerializeField] RectTransform scrollRect;
// [SerializeField] float maxHeight = 800f; // 璁剧疆鏈�澶ч珮搴﹂檺鍒�
@@ -17,6 +18,7 @@
protected override void OnPreOpen()
{
+ m_ScrollRect.verticalNormalizedPosition = 1;
var config = RuleConfig.Get(functionOrder);
m_RuleTxt.text = Language.Get(config.Description);
--
Gitblit v1.8.0