/// <summary> /// Determines entities hit by the effect and returns the resulting list of entities. /// </summary> /// <returns>The list of entities hit by the action.</returns> public LinkedList <Entity> DetermineEntitiesHit() { //Grab the entities within proximity to this effect LinkedList <Entity> nearbyEntities = EntityCollisionHelper.AllEntitiesInCircularArea(position, Range); return(nearbyEntities); }
/// <summary> /// Determines entities hit by the effect and returns the resulting list of entities. /// </summary> /// <returns>The list of entities hit by the action.</returns> public LinkedList <Entity> DetermineEntitiesHit() { //Grab the entities within proximity to this effect LinkedList <Entity> nearbyEntities = EntityCollisionHelper.AllEntitiesInCircularArea(position, Range); //Check each nearby entity to see if it lies within the effect's cone foreach (Entity entity in nearbyEntities) { if (!DirectionallyWithinEffect(entity.transform.position, entity.PhysicalRadius)) { nearbyEntities.Remove(entity); } } return(nearbyEntities); }
/// <summary> /// Determines entities hit by the effect and returns the resulting list of entities. /// </summary> /// <returns>The list of entities hit by the action.</returns> public LinkedList <Entity> DetermineEntitiesHit() { //Calculate the range by finding the diagonal of the rectangle float range = TwoDimLinearHelper.PythagoreanLength(WidthFromCenter, HeightFromCenter); //Grab the entities within proximity to this effect LinkedList <Entity> nearbyEntities = EntityCollisionHelper.AllEntitiesInCircularArea(position, range); //Check each nearby entity to see if it lies within the effect's cone foreach (Entity entity in nearbyEntities) { if (!WithinRectangle(entity.transform.position, entity.PhysicalRadius)) { nearbyEntities.Remove(entity); } } return(nearbyEntities); }