summaryrefslogtreecommitdiff
path: root/MouseNet.cs
blob: 9521a253b9e99fc0c82a1de2580658f8f3c8b589 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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;
    }
}