summaryrefslogtreecommitdiff
path: root/MouseNet.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MouseNet.cs')
-rw-r--r--MouseNet.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/MouseNet.cs b/MouseNet.cs
new file mode 100644
index 0000000..9521a25
--- /dev/null
+++ b/MouseNet.cs
@@ -0,0 +1,35 @@
+using OnekoOnline.Net;
+
+namespace OnekoOnline;
+
+class MouseNet : Mouse
+{
+ readonly User MyUser;
+
+ float InvisibleTimer;
+
+ public MouseNet(User user) : base()
+ {
+ MyUser = user;
+ Name = user.Username!;
+
+ Client.UserDisconnected += disconnectedUser => {
+ if (disconnectedUser == MyUser) Dispose();
+ };
+
+ Client.PacketRecived += (reader, user, packetType) => {
+ if (user != MyUser || packetType != PacketType.MousePosition) return;
+
+ Position = reader.GetVector2();
+ InvisibleTimer = 0f;
+ };
+
+ Client.ServerDisconnected += Dispose;
+ }
+
+ public override void Update(float delta)
+ {
+ InvisibleTimer += delta;
+ Visible = InvisibleTimer < 0.3f;
+ }
+} \ No newline at end of file