| | |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using LitJson; |
| | | |
| | | using UnityEngine; |
| | |
| | | } |
| | | } |
| | | |
| | | //自动挑战首领 |
| | | public bool isAutoChallengeBoss |
| | | { |
| | | get |
| | | { |
| | | return QuickSetting.Instance.GetQuickSettingBool(QuickSettingType.AutoFight_ChallengeBoss, 0); |
| | | } |
| | | set |
| | | { |
| | | QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_ChallengeBoss, value); |
| | | } |
| | | } |
| | | |
| | | //当前战败了x次 |
| | | private int m_NowChallengeCount = 0; |
| | | public float lastChallengeTime = 0; |
| | | public int nowChallengeCount |
| | | { |
| | | get { return m_NowChallengeCount; } |
| | | set |
| | | { |
| | | m_NowChallengeCount = value; |
| | | lastChallengeTime = value == 0 ? 0 : Time.time; |
| | | Debug.Log($"当前在主线Boss战败了{m_NowChallengeCount}次,上次战败时间是{lastChallengeTime}"); |
| | | if (m_NowChallengeCount >= tryChallengeCount) |
| | | { |
| | | isAutoAttackSet = false; |
| | | isAutoAttack = false; |
| | | SaveAutoFightSetting(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //自动挑战首领,战败x次停止 |
| | | public int tryChallengeCount |
| | | { |
| | | get |
| | | { |
| | | int value = QuickSetting.Instance.GetQuickSettingValue<int>(QuickSettingType.AutoFight_TryChallengeCount, 0); |
| | | return Math.Min(Math.Max(value, 1), maxCost); |
| | | } |
| | | set |
| | | { |
| | | QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_TryChallengeCount, value); |
| | | } |
| | | } |
| | | |
| | | //自动完成任务 |
| | | public bool isAutoFinishTask |
| | | { |
| | | get |
| | | { |
| | | return QuickSetting.Instance.GetQuickSettingBool(QuickSettingType.AutoFight_AutoFinishTask, 0); |
| | | } |
| | | set |
| | | { |
| | | QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_AutoFinishTask, value); |
| | | } |
| | | } |
| | | public event Action ChangeAutoEvent; |
| | | |
| | | public int maxSpeed = 3; //最高速度 索引 |
| | |
| | | public int[] autoCostWithBlessLV; //自动战斗消耗倍数关联祝福等级 |
| | | public int speed2UnlockMissionID; |
| | | |
| | | public int openAutoChallengeBossMissionID;//自动挑战首领解锁的任务ID(需完成) |
| | | public int maxTryChallengeCount;//自动挑战首领最大战败次数(下拉列表的最大值) |
| | | public int maxTryChallengeCD; |
| | | public int openAutoFinishMissionID;//自动完成任务解锁的任务ID(需完成) |
| | | |
| | | public override void Init() |
| | | { |
| | | ParseConfig(); |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit; |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin; |
| | | BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField; |
| | | EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast); |
| | | BlessLVManager.Instance.OnBlessLVUpdateEvent += UpdateRedpint; |
| | |
| | | { |
| | | BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField; |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerInit; |
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin; |
| | | EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast); |
| | | BlessLVManager.Instance.OnBlessLVUpdateEvent -= UpdateRedpint; |
| | | TaskManager.Instance.OnTaskUpdate -= OnTaskUpdate; |
| | |
| | | autoCostWithBlessLV = JsonMapper.ToObject<int[]>(config.Numerical1); |
| | | speed2UnlockMissionID = int.Parse(config.Numerical2); |
| | | maxCost = autoCostWithBlessLV.Length; |
| | | config = FuncConfigConfig.Get("AutoGuaji1"); |
| | | openAutoChallengeBossMissionID = int.Parse(config.Numerical1); |
| | | maxTryChallengeCount = int.Parse(config.Numerical2); |
| | | maxTryChallengeCD = int.Parse(config.Numerical3); |
| | | openAutoFinishMissionID = int.Parse(config.Numerical4); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | fightingHeroSkinID = 0; |
| | | heroGuid = ""; |
| | | } |
| | | |
| | | private void OnBeforePlayerDataInitializeEventOnRelogin() |
| | | { |
| | | nowChallengeCount = 0; |
| | | } |
| | | |
| | | public void SaveAutoFightSetting() |
| | |
| | | return true; |
| | | |
| | | long showFightPower = FightPowerManager.Instance.GetFightPowerChange(item); |
| | | |
| | | |
| | | if (showFightPower < 0) |
| | | { |
| | | EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)item.gridIndex }, 1); |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | #region 主线战斗(自动和手动) |
| | | |
| | | public void StartFight() |