protected override void HandlePacket(PacketQueueEntry queueEntry) { try { switch (queueEntry.PacketId) { case PacketId.PACKET_ID_CAMERA_SYNC: CameraSyncPacket cameraPureSyncPacket = new CameraSyncPacket(); cameraPureSyncPacket.Read(queueEntry.Data); HandleCameraSyncPacket(queueEntry.Client, cameraPureSyncPacket); break; case PacketId.PACKET_ID_PLAYER_PURESYNC: PlayerPureSyncPacket playerPureSyncPacket = new PlayerPureSyncPacket(); playerPureSyncPacket.Read(queueEntry.Data); HandleClientPureSyncPacket(queueEntry.Client, playerPureSyncPacket); break; } } catch (Exception e) { Debug.WriteLine("Handling packet failed"); Debug.WriteLine(string.Join(", ", queueEntry.Data)); Debug.WriteLine($"{e.Message}\n{e.StackTrace}"); } }
public async void HandlePackets() { while (true) { while (this.packetQueue.TryDequeue(out PacketQueueEntry queueEntry)) { try { Console.WriteLine(queueEntry.PacketId); switch (queueEntry.PacketId) { case PacketId.PACKET_ID_CAMERA_SYNC: CameraSyncPacket cameraPureSyncPacket = new CameraSyncPacket(); cameraPureSyncPacket.Read(queueEntry.Data); HandleCameraSyncPacket(queueEntry.Client, cameraPureSyncPacket); break; case PacketId.PACKET_ID_PLAYER_PURESYNC: PlayerPureSyncPacket playerPureSyncPacket = new PlayerPureSyncPacket(); playerPureSyncPacket.Read(queueEntry.Data); HandlePlayerPureSyncPacket(queueEntry.Client, playerPureSyncPacket); break; } } catch (Exception e) { Console.WriteLine("Handling packet failed"); Console.WriteLine(string.Join(", ", queueEntry.Data)); //Console.WriteLine($"{e.Message}\n{e.StackTrace}"); } } await Task.Delay(this.sleepInterval); } }
public void WritePacket_MatchesExpectedByteArray() { var packet = new CameraSyncPacket(0, new Vector3(-2377, -1636, 700), new Vector3(0, 0, 720)); var result = packet.Write(); result.Should().Equal(this.testPacket); }
public void ReadPacket_ReadsValuesProperly() { var packet = new CameraSyncPacket(); packet.Read(this.testPacket); packet.IsFixed.Should().BeTrue(); packet.TargetId.Should().Be(0); packet.Position.Should().Be(new Vector3(-2377, -1636, 700)); packet.LookAt.Should().Be(new Vector3(0, 0, 720)); }
private void HandleCameraSyncPacket(Client client, CameraSyncPacket packet) { //Debug.WriteLine($"client {client.Id} camera sync: isFixed: {packet.IsFixed}, position: {packet.Position}, lookAt: {packet.LookAt}, target: {packet.TargetId}"); }