private Units GetNormalTarget() { Units units = null; List <Units> list = MapManager.Instance.EnumEnemyMapUnits(this.m_Owner.TeamType, TargetTag.HeroAndMonster).ToList <Units>(); if (list.Count > 0) { list.Sort(new Comparison <Units>(this.SortFunc)); foreach (Units current in list) { if (HeroMirrorTargetingSystem.IfChooseTarget(this.m_Owner, current, 0f)) { if (current.isHero) { return(current); } if (units == null) { units = current; } } } return(units); } return(null); }
protected override bool IfNeedChangeTarget() { this.m_timer.interval = 1f; if (this.m_timer.CanUpdate()) { return(true); } object outputTarget = base.GetOutputTarget(OutputTargetType.OutputAttackTarget); if (outputTarget == null) { return(true); } Units target = outputTarget as Units; bool flag = HeroMirrorTargetingSystem.IfChooseTarget(this.m_Owner, target, 0f); return(!flag); }