public async void Update() { if (m_IPCClient.Connected) { IPCBuffer ipcBuffer = new IPCBuffer(m_IPCClient); if (ipcBuffer.HasPendingData()) { IPCPacketIdentifier packetIdentifer = (IPCPacketIdentifier)await ipcBuffer.Read <byte>(); switch (packetIdentifer) { case IPCPacketIdentifier.ADDPLAYER: { UInt32 userID = await ipcBuffer.Read <UInt32>(); string strDisplayName = await ipcBuffer.ReadString(); Console.WriteLine("Added Player: {0} ({1})", strDisplayName, userID); PlayerManager.AddPlayer(userID, strDisplayName); break; } case IPCPacketIdentifier.REMOVEPLAYER: { UInt32 userID = await ipcBuffer.Read <UInt32>(); Console.WriteLine("Removed Player: {0}", userID); PlayerManager.RemovePlayer(userID); break; } default: { Console.WriteLine("Got unhandled packet type with identifier {0}", (int)packetIdentifer); break; } } } } }
public void WriteIdentifier(IPCPacketIdentifier identifier) { m_StreamWriter.Write((char)identifier); }