diff options
Diffstat (limited to 'MouseNet.cs')
| -rw-r--r-- | MouseNet.cs | 35 |
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 |
