From ff3cbc5b49f8618531c5778d69b49c0aa4a9442a Mon Sep 17 00:00:00 2001 From: Sarah B Date: Mon, 25 Dec 2023 00:02:12 -0800 Subject: Changed how server handles UserInfo, and started work on networking the cursor's sprite. --- Mouse.cs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'Mouse.cs') diff --git a/Mouse.cs b/Mouse.cs index a23d784..fad056e 100644 --- a/Mouse.cs +++ b/Mouse.cs @@ -8,7 +8,7 @@ abstract class Mouse : Drawable { public string Name = "Mouse"; - Texture2D CursorTex = Raylib.LoadTexture("misc/cursor.png"); + public Bitmap Cursor; protected static List allMice = []; public static ReadOnlyCollection AllMice => allMice.AsReadOnly(); @@ -19,6 +19,22 @@ abstract class Mouse : Drawable { DrawOrder = 100; allMice.Add(this); + + string CursorPath = "mddisc/cursor.png"; + + if (File.Exists(CursorPath) && new FileInfo(CursorPath).Length < 12*19*3) { + Cursor = Bitmap.FromPNGMemory(File.ReadAllBytes(CursorPath)); + } else { + Console.WriteLine("Path to cursor png was invalid or the file was too big, using the default."); + Cursor = Bitmap.FromPNGMemory(EmbeddedResources.GetResource("misc.cursor.png")); + } + } + + public Mouse(Bitmap cursor) : base() + { + DrawOrder = 100; + allMice.Add(this); + Cursor = cursor; } public override void Draw() @@ -27,12 +43,12 @@ abstract class Mouse : Drawable 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); + Raylib.DrawTexture(Cursor.Texture, (int)Position.X, (int)Position.Y, Color.WHITE); } public override void Dispose() { - Raylib.UnloadTexture(CursorTex); + Cursor.Dispose(); allMice.Remove(this); base.Dispose(); } -- cgit