private bool CheckBoundaries(IFieldObject fieldObject) { var fieldArea = GetArea(); var objectArea = fieldObject.GetArea(); var intersection = fieldArea.Intersects(objectArea); return(intersection == objectArea.GetAreaValue()); }
public IList <ICollidable> GetCollisions(IFieldObject targetObject, IEnumerable <IFieldObject> objectsOnField) { var targetObjectArea = targetObject.GetArea(); var objectsToCollide = new List <ICollidable>(); foreach (var fieldObject in objectsOnField) { var fieldObjectArea = fieldObject.GetArea(); if (fieldObjectArea.Intersects(targetObjectArea) > 0) { objectsToCollide.Add(fieldObject); } } return(objectsToCollide); }