using AlienAttack.MonoGame.View; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using System; namespace AlienAttack.MonoGame.Things; public class SpriteUpdateContext(AlienAttackGame game) { public ViewTransform ViewTransform => game.ViewTransform; public required Action SpawnSprite { get; init; } public required Random Random { get; init; } public required GameTime GameTime { get; init; } public required ContentManager Content { get; init; } } public class SpriteCollisionContext(AlienAttackGame game) { public ViewTransform ViewTransform => game.ViewTransform; public required Sprite Sprite { get; init; } public required Action SpawnSprite { get; init; } public required Random Random { get; init; } public required ContentManager Content { get; init; } }