/// <summary> /// Override to provide new behavior for receipt of all PosiStageNet packets /// </summary> protected virtual void OnPacketReceived(PsnPacketChunk packet) { switch (packet.ChunkId) { case PsnPacketChunkId.PsnInfoPacket: { var infoPacket = (PsnInfoPacketChunk)packet; OnInfoPacketReceived(infoPacket); InfoPacketReceived?.Invoke(this, infoPacket); } break; case PsnPacketChunkId.PsnDataPacket: { var dataPacket = (PsnDataPacketChunk)packet; OnDataPacketReceived(dataPacket); DataPacketReceived?.Invoke(this, dataPacket); } break; case PsnPacketChunkId.UnknownPacket: { var unknownPacket = (PsnUnknownPacketChunk)packet; OnUnknownPacketReceived(unknownPacket); UnknownPacketReceived?.Invoke(this, unknownPacket); } break; default: throw new ArgumentOutOfRangeException(); } }
public void ReceivedData(byte[] buffer) { DataPacketReceived?.Invoke(this, new CustomPack { Text = Encoding.Default.GetString(buffer) }); }