private static void DrawHostileObjects(SpriteBatch spriteBatch, ObjectPositionRepository objectPositionRepository) { foreach (var item in objectPositionRepository.GetHostilePositions()) { spriteBatch.Draw(item.Texture, item.DestinationRectangle, item.SourceRectangle, item.Color, item.Rotation, item.Origin, item.Effects, item.LayerDepth); } }
private static void If_Hostile_Touch_Then_Lose_Player_Life(ObjectPositionRepository objectPositionRepository) { var players = objectPositionRepository.GetPlayerPositions(); var hostiles = objectPositionRepository.GetHostilePositions(); var hostileRectangles = hostiles.Select(x => x.DestinationRectangle); var playersHit = new List <IPlayer>(); foreach (var player in players) { foreach (var hostile in hostileRectangles) { if (player.DestinationRectangle.Intersects(hostile)) { player.PlayerLives -= 1; //TODO Rename 'position', these are more than just the positions objectPositionRepository.UpdatePlayerPosition(player); break; } } } }