From bb463ef0b13236738a1da9cd04f57def3e7e2c7c Mon Sep 17 00:00:00 2001 From: yyl <yyl> Date: 星期五, 29 八月 2025 15:21:51 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts --- Main/System/Main/AutoFightModel.cs | 121 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 117 insertions(+), 4 deletions(-) diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs index 1439254..ec225e4 100644 --- a/Main/System/Main/AutoFightModel.cs +++ b/Main/System/Main/AutoFightModel.cs @@ -2,25 +2,138 @@ using System.Collections; using System.Collections.Generic; using System.Text; +using LitJson; using UnityEngine; public class AutoFightModel : GameSystemManager<AutoFightModel> { - public int fightSpeed = 1; //鎴樻枟鍊嶆暟锛氬�艰秺澶ц秺蹇紝褰卞搷鎴樻枟琛ㄧ幇锛屾帀钀介�熷害绛� + //鎴樻枟鍊嶆暟锛氬�艰秺澶ц秺蹇紝褰卞搷鎴樻枟琛ㄧ幇锛屾帀钀介�熷害绛� + public int fightSpeed + { + get + { + int value = QuickSetting.Instance.GetQuickSettingValue<int>(QuickSettingType.AutoFight_Speed, 0); + return Math.Min(Math.Max(value, 1), maxSpeed); + } + set + { + QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_Speed, value); + } + } - public bool isAutoAttack; //鑷姩鏀诲嚮 + //娑堣�楀�嶆暟 + public int fightCost + { + get + { + int value = QuickSetting.Instance.GetQuickSettingValue<int>(QuickSettingType.AutoFight_Cost, 0); + return Math.Min(Math.Max(value, 1), maxCost); + } + set + { + QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_Cost, value); + } + } + + //鑷姩妯″紡, 鐪熸鐐瑰嚮鎴橀敜娑堣�楀紑鍚紝鍜屼紤鎭紙鎴栨棤鏉愭枡锛夊仠姝� + public bool isAutoAttack = false; + + //鏄惁寮�鍚嚜鍔ㄦ垬鏂楄缃� + public bool isAutoAttackSet + { + get + { + return QuickSetting.Instance.GetQuickSettingBool(QuickSettingType.AutoFight_Open, 0); + } + set + { + QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_Open, value); + } + } + + //鏇村ソ瑁呭鍋滄鎴樻枟 + public bool isStopFightByBetterEquip + { + get + { + return QuickSetting.Instance.GetQuickSettingBool(QuickSettingType.AutoFight_FightPower, 0); + } + set + { + QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_FightPower, value); + } + } + + + public event Action ChangeAutoEvent; + + public int maxSpeed = 3; //鏈�楂橀�熷害 + public int maxCost; //鏈�楂樻秷鑰� + public int[] autoCostWithBlessLV; //鑷姩鎴樻枟娑堣�楀�嶆暟鍏宠仈绁濈绛夌骇 + public int speed2UnlockMissionID; + public int speed3UnlockCTGID; public override void Init() { - + ParseConfig(); + DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk; } public override void Release() { - + DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk; } void ParseConfig() { + var config = FuncConfigConfig.Get("AutoGuaji"); + autoCostWithBlessLV = JsonMapper.ToObject<int[]>(config.Numerical1); + speed2UnlockMissionID = int.Parse(config.Numerical2); + speed3UnlockCTGID = int.Parse(config.Numerical3); + maxCost = autoCostWithBlessLV.Length; } + void OnPlayerLoginOk() + { + //鐧诲綍鏃舵湁瑁呭鐨勫鐞� + } + + public void SaveAutoFightSetting() + { + if (PlayerDatas.Instance.baseData.UseHarmerCount != fightCost) + { + PlayerDatas.Instance.baseData.UseHarmerCount = fightCost; + BattleManager.Instance.MainFightRequest(1, (uint)fightCost); + } + QuickSetting.Instance.SendPackage(); + ChangeAutoEvent?.Invoke(); + } + + + //鑷姩澶勭悊瑁呭锛岄渶瑕佺瓑寰呯┛鎴磋繑鍥瀎alse锛屽叾浠栨儏鍐佃繑鍥瀟rue + public bool TryAutoFightDoEquip(ItemModel item) + { + if (!isAutoAttack) + return false; + + if (item == null) + return true; + + long showFightPower = FightPowerManager.Instance.GetFightPowerChange(item); + + if (showFightPower < 0) + { + EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)item.gridIndex }, 1); + return true; + } + else + { + if (isStopFightByBetterEquip) + return false; + + EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)item.gridIndex }, 1); + return true; + + } + + } } -- Gitblit v1.8.0