Esempio n. 1
0
 /// <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);
        }
Esempio n. 3
0
        /// <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));
            }
        }
Esempio n. 4
0
        ///// <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));
        }
Esempio n. 5
0
 /// <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));
 }