summaryrefslogtreecommitdiff
path: root/Mouse.cs
diff options
context:
space:
mode:
authorSarah Bradley <git@sarahduck.ca>2023-12-18 19:51:26 -0800
committerSarah Bradley <git@sarahduck.ca>2023-12-18 19:51:26 -0800
commit4b7966ffda3b6ad34d355148ddccbe2959061730 (patch)
tree8be290357abb5d7cf8c72a803f3be63b3e353d7e /Mouse.cs
parentfc3874657348bde6ce7e3fab625c92dfec91baaa (diff)
Networked Mice!!
Also combined Spritesheet + Username packets into one UserInfo packet.
Diffstat (limited to 'Mouse.cs')
-rw-r--r--Mouse.cs23
1 files changed, 12 insertions, 11 deletions
diff --git a/Mouse.cs b/Mouse.cs
index bec6eec..d316ea2 100644
--- a/Mouse.cs
+++ b/Mouse.cs
@@ -1,32 +1,33 @@
-using System.Numerics;
-using OnekoOnline.Net;
using Raylib_cs;
+using System.Collections.ObjectModel;
+using System.Numerics;
namespace OnekoOnline;
-class Mouse : Drawable
+abstract class Mouse : Drawable
{
+ public string Name = "Mouse";
+
Texture2D CursorTex = Raylib.LoadTexture("misc/cursor.png");
- public Mouse()
- {
- DrawOrder = 100;
- Drawables.Add(this);
- }
+ protected static List<Mouse> allMice = [];
+ public static ReadOnlyCollection<Mouse> AllMice => allMice.AsReadOnly();
- public override void Update(float delta)
+ public Mouse() : base()
{
- Position = Raylib.GetMousePosition()/OnekoOnline.WindowScale;
+ DrawOrder = 100;
+ allMice.Add(this);
}
public override void Draw()
{
- if (Raylib.IsCursorOnScreen())
Raylib.DrawTexture(CursorTex, (int)Position.X, (int)Position.Y, Color.WHITE);
}
public override void Dispose()
{
Raylib.UnloadTexture(CursorTex);
+ allMice.Remove(this);
+ base.Dispose();
}
} \ No newline at end of file