/// <summary> /// Kiểm tra pos có nằm trong trụ nào không? /// </summary> /// <param name="pos"></param> /// <param name="team"></param> /// <param name="range"></param> /// <returns></returns> public static bool IsInTurret(this Vector3 pos, TurretTeam team = TurretTeam.Enemy) { if (GetTurret(pos, team) == null) { return(true); } return(false); }
public static TurretData GetNearestTurretData(Obj_AI_Base unit, TurretTeam team) { var t = TurretsList.Where(x => (team == TurretTeam.Ally ? x.Turret.IsValid && x.Turret.Team == unit.Team : x.Turret.Team != unit.Team)).MinBy(x => x.Turret.Distance(unit)); if (t != null) { return(t); } return(null); }
/// <summary> /// Lấy trụ mà pos nằm trong. /// </summary> /// <param name="pos"></param> /// <param name="team"></param> /// <param name="range"></param> /// <returns></returns> public static Obj_AI_Turret GetTurret(this Vector3 pos, TurretTeam team = TurretTeam.Enemy) { switch (team) { case TurretTeam.Enemy: return(Turrets.FirstOrDefault(turret => turret.IsEnemy && pos.Distance(turret.Position) <= CastRange)); case TurretTeam.Ally: return(Turrets.FirstOrDefault(turret => turret.IsAlly && pos.Distance(turret.Position) <= CastRange)); default: return(Turrets.FirstOrDefault(turret => pos.Distance(turret.Position) <= CastRange)); } }
///// <summary> ///// Lấy danh sách trụ thuộc đội của param team trong phạm vi range đối với người chơi ///// </summary> ///// <param name="team"></param> ///// <param name="range"></param> ///// <returns></returns> //public static IEnumerable<Obj_AI_Turret> GetTurrets(float range,TurretTeam team) //{ // switch (team) // { // case TurretTeam.Enemy: // return Turrets.Where(turret => turret.IsEnemy && ChampionData.Player.Distance(turret) <= range); // case TurretTeam.Ally: // return Turrets.Where(turret => turret.IsAlly && ChampionData.Player.Distance(turret) <= range); // default: // return Turrets.Where(turret => ChampionData.Player.Distance(turret) <= range); // } //} /// <summary> /// Lấy trụ mà obj nằm trong. /// </summary> /// <param name="obj"></param> /// <param name="team"></param> /// <param name="range"></param> /// <returns></returns> public static Obj_AI_Turret GetTurret(this Obj_AI_Base obj, int range = CastRange, TurretTeam team = TurretTeam.Enemy) { return(GetTurret(obj.ServerPosition, team)); }
/// <summary> /// Kiểm tra obj có nằm trong trụ nào không? /// </summary> /// <param name="obj"></param> /// <param name="team"></param> /// <param name="range"></param> /// <returns></returns> public static bool IsInTurret(this Obj_AI_Base obj, TurretTeam team = TurretTeam.Enemy) { return(IsInTurret(obj.ServerPosition, team)); }