using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using Snxxz.UI;
|
|
|
public class DemonJarAutoChallenge : SingletonMonobehaviour<DemonJarAutoChallenge>
|
{
|
DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
|
FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
CrossServerOneVsOneModel crossServerOneVsOneModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
|
|
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));
|
}
|
}
|
|
}
|