TouchyTickets/TouchyTickets/RainingTicket.cs
2023-02-11 10:16:42 +01:00

34 lines
1.1 KiB
C#

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using MLEM.Extensions;
using MLEM.Textures;
namespace TouchyTickets;
public class RainingTicket {
private static readonly Random Random = new();
private readonly Vector2 speed;
private readonly float rotationSpeed;
private float rotation;
private Vector2 position;
public RainingTicket() {
this.position = new Vector2(RainingTicket.Random.NextSingle(), -0.15F);
this.speed = new Vector2(RainingTicket.Random.NextSingle() * 0.0005F - 0.00025F, 0.005F + RainingTicket.Random.NextSingle() * 0.01F);
this.rotationSpeed = MathHelper.ToRadians(RainingTicket.Random.NextSingle() * 5);
}
public bool Update() {
this.rotation += this.rotationSpeed;
this.position += this.speed;
return this.position.Y >= 1.15F;
}
public void Draw(SpriteBatch batch, Vector2 viewport, float scale, Color color) {
var tex = Assets.UiTexture[2, 0];
batch.Draw(tex, this.position * viewport, color, this.rotation, tex.Size.ToVector2() / 2, scale, SpriteEffects.None, 0);
}
}