From 217c93639fc6dee3222e0a3724dd5ed67b34f412 Mon Sep 17 00:00:00 2001 From: Sarah Bradley Date: Sat, 16 Dec 2023 21:15:14 -0800 Subject: Network Oneko position! --- OnekoLocal.cs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 OnekoLocal.cs (limited to 'OnekoLocal.cs') diff --git a/OnekoLocal.cs b/OnekoLocal.cs new file mode 100644 index 0000000..64a4c6f --- /dev/null +++ b/OnekoLocal.cs @@ -0,0 +1,36 @@ +using System.Numerics; +using LiteNetLib.Utils; +using OnekoOnline.Net; +using Raylib_cs; + +namespace OnekoOnline; + +class OnekoLocal : Oneko +{ + public static Oneko? Instance; + + static int Id => OnekoOnline.Client?.Id ?? -1; + + public OnekoLocal() : base() + { + Instance ??= this; + + Client.UserConnected += OnekoNet.SpawnNetNeko; + Client.ServerDisconnected += OnekoNet.DisconnectAll; + } + + public override void OnekoUpdate(float delta) + { + if (Raylib.IsWindowFocused()) TargetPosition = Raylib.GetMousePosition()/2; + else TargetPosition = new Vector2(320/2, 240/2); + + if (OnekoOnline.Client!.Connected) { + NetDataWriter writer = new(); + writer.Put(new PacketInfo(PacketType.OnekoTargetPosition, Id)); + writer.Put(TargetPosition); + OnekoOnline.Client?.ConnectedServer.Send(writer, LiteNetLib.DeliveryMethod.Unreliable); + } + + base.OnekoUpdate(delta); + } +} \ No newline at end of file -- cgit