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
34
35
36
37
38
39
|
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 static Action<Mouse>? Clicked;
public Mouse() : base()
{
DrawOrder = 100;
allMice.Add(this);
}
public override void Draw()
{
Vector2 NametagPosition = new(Position.X-(Name.Length*3)+4, Position.Y-13);
Raylib.DrawTextEx(OnekoOnline.DefaultFont, Name, NametagPosition+Directions.Down, 11, 0, Color.BLACK); //Shadow
Raylib.DrawTextEx(OnekoOnline.DefaultFont, Name, NametagPosition, 11, 0, Color.WHITE);
Raylib.DrawTexture(CursorTex, (int)Position.X, (int)Position.Y, Color.WHITE);
}
public override void Dispose()
{
Raylib.UnloadTexture(CursorTex);
allMice.Remove(this);
base.Dispose();
}
}
|