using System.Numerics; using OnekoOnline.Net; using LiteNetLib.Utils; using Raylib_cs; namespace OnekoOnline; class MouseLocal : Mouse { public MouseLocal() : base() { Client.UserConnected += user => { MouseNet NewNetMouse = new(user); }; } public override void Update(float delta) { Visible = Raylib.IsCursorOnScreen() && Raylib.IsWindowFocused(); Position = Raylib.GetMousePosition()/OnekoOnline.WindowScale; if (Visible && OnekoOnline.Client!.Connected) { NetDataWriter writer = new(); writer.Put(new PacketInfo(PacketType.MousePosition, OnekoOnline.Client.Id)); writer.Put(Position); OnekoOnline.Client?.ConnectedServer.Send(writer, LiteNetLib.DeliveryMethod.Unreliable); } } }