using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; public class DemonJarAutoChallenge : SingletonMonobehaviour { DemonJarModel model { get { return ModelCenter.Instance.GetModel(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } CrossServerOneVsOneModel crossServerOneVsOneModel { get { return ModelCenter.Instance.GetModel(); } } float timer = 0f; float lastTouchTime = 0f; private void Awake() { DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent += OnMapInitOk; } public void Begin() { timer = 0f; } private void OnMapInitOk() { lastTouchTime = Time.time; } private void LateUpdate() { if (Input.GetMouseButtonDown(0)) { lastTouchTime = Time.time; } if (Time.time - lastTouchTime < GeneralDefine.demonJarAutoTime) { return; } if (GameNetSystem.Instance.netState != GameNetSystem.NetState.Connected) { return; } if (!model.autoChallenge) { return; } timer += Time.deltaTime; if (timer < 3f) { return; } timer = 0f; if (crossServerOneVsOneModel.IsMatching) { return; } if (CrossServerLogin.Instance.IsEnterCrossServerPreparing()) { return; } if (CrossServerUtility.IsCrossServer()) { return; } var bossIds = findPreciousModel.GetBossSubscribes(); var maxLevelBoss = 0; var maxLevel = 0; for (var i = 0; i < bossIds.Count; i++) { var bossId = bossIds[i]; if (findPreciousModel.IsBossSubscribed(bossId)) { if (DemonJarConfig.Has(bossId)) { var alive = findPreciousModel.IsBossAlive(bossId); if (alive) { var npcConfig = NPCConfig.Get(bossId); if (npcConfig.NPCLV > maxLevel) { maxLevelBoss = bossId; maxLevel = npcConfig.NPCLV; } } } } } if (maxLevelBoss != 0) { findPreciousModel.AutoGotoSkillDemonJarBoss(new FindPreciousModel.BossNotify(maxLevelBoss, true)); } } }