コード例 #1
0
ファイル: Collision.cs プロジェクト: seniseviy/LeagueSharp-7
        /// <summary>
        /// Checks hero collisions
        /// </summary>
        /// <param name="from">Start position</param>
        /// <param name="to">End position</param>
        /// <param name="width">Width</param>
        /// <param name="checkAlly">Check ally heroes</param>
        /// <returns>true if collision found</returns>
        public bool CheckHeroCollision(Vector2 from, Vector2 to, Spell s, bool checkAlly = false)
        {
            Geometry.Polygon   poly        = ClipperWrapper.DefineRectangle(from, to, s.Width);
            List <Obj_AI_Hero> listToCheck = checkAlly ? HeroManager.AllHeroes : HeroManager.Enemies;

            return(listToCheck.AsParallel().Any(p => ClipperWrapper.IsIntersects(ClipperWrapper.MakePaths(poly), ClipperWrapper.MakePaths(ClipperWrapper.DefineCircle(p.ServerPosition.To2D(), p.BoundingRadius)))));
        }
コード例 #2
0
ファイル: Collision.cs プロジェクト: seniseviy/LeagueSharp-7
        /// <summary>
        /// Checks minion collisions
        /// </summary>
        /// <param name="from">Start position</param>
        /// <param name="to">End position</param>
        /// <param name="width">Width</param>
        /// <returns>true if collision found</returns>
        public bool CheckMinionCollision(Vector2 from, Vector2 to, Spell s)
        {
            Geometry.Polygon poly = ClipperWrapper.DefineRectangle(from, to, s.Width);
            HitChance        hc;

            return(MinionManager.GetMinions(from.Distance(to) + 100, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).AsParallel().Any(p => ClipperWrapper.IsIntersects(ClipperWrapper.MakePaths(ClipperWrapper.DefineCircle(Prediction.GetPrediction(p, s, p.GetWaypoints(), 0, 0, 0, out hc, p.ServerPosition), p.BoundingRadius)), ClipperWrapper.MakePaths(poly))));
        }