29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using AlienAttack.MonoGame.Audio;
|
|
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<Sprite> SpawnSprite { get; init; }
|
|
public required Random Random { get; init; }
|
|
public required GameTime GameTime { get; init; }
|
|
public float DeltaTime => (float)GameTime.ElapsedGameTime.TotalSeconds;
|
|
public required ContentManager Content { get; init; }
|
|
public AudioManager AudioManager => game.Audio;
|
|
public required Player Player { get; init; }
|
|
}
|
|
|
|
public class SpriteCollisionContext(AlienAttackGame game)
|
|
{
|
|
public ViewTransform ViewTransform => game.ViewTransform;
|
|
public required Sprite Sprite { get; init; }
|
|
public required Action<Sprite> SpawnSprite { get; init; }
|
|
public required Random Random { get; init; }
|
|
public required ContentManager Content { get; init; }
|
|
public AudioManager AudioManager => game.Audio;
|
|
} |