summaryrefslogtreecommitdiff
path: root/Mouse.cs
blob: d316ea2cd620125198b75440b8860c27de4c51f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using Raylib_cs;
using System.Collections.ObjectModel;
using System.Numerics;

namespace OnekoOnline;

abstract class Mouse : Drawable
{
    public string Name = "Mouse";

    Texture2D CursorTex = Raylib.LoadTexture("misc/cursor.png");

    protected static List<Mouse> allMice = [];
    public static ReadOnlyCollection<Mouse> AllMice => allMice.AsReadOnly();

    public Mouse() : base()
    {
        DrawOrder = 100;
        allMice.Add(this);
    }

    public override void Draw()
    {
        Raylib.DrawTexture(CursorTex, (int)Position.X, (int)Position.Y, Color.WHITE);
    }

    public override void Dispose()
    {
        Raylib.UnloadTexture(CursorTex);
        allMice.Remove(this);
        base.Dispose();
    }
}