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 allMice = []; public static ReadOnlyCollection AllMice => allMice.AsReadOnly(); public static Action? 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(); } }