private bool CheckBoundaries(IFieldObject fieldObject)
        {
            var fieldArea  = GetArea();
            var objectArea = fieldObject.GetArea();

            var intersection = fieldArea.Intersects(objectArea);

            return(intersection == objectArea.GetAreaValue());
        }
Beispiel #2
0
        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);
        }