public ZInstalledGames Parse(ZPacket packet) { var installedGames = new ZInstalledGames(); List <ZInstalledGame> games; using (var memory = new MemoryStream(packet.Payload, false)) using (var br = new BinaryReader(memory, Encoding.ASCII)) { installedGames.IsX64 = br.ReadBoolean(); var gamesCount = br.ReadZUInt32(); games = new List <ZInstalledGame>((int)gamesCount); for (var i = 0; i < gamesCount; i++) { var item = new ZInstalledGame { RunnableName = br.ReadZString(), ZloName = br.ReadZString(), FriendlyName = br.ReadZString() }; item.EnumGame = ZStringToGameConverter.Convert(item.ZloName); games.Add(item); } } installedGames.InstalledGames = games .Where(g => g.EnumGame != ZGame.None) .ToArray(); return(installedGames); }
public ZRunResult Parse(ZPacket packet) { var runStatus = ZRunResult.None; using (var memory = new MemoryStream(packet.Payload, false)) using (var binaryReader = new BinaryReader(memory, Encoding.ASCII)) { runStatus = (ZRunResult)binaryReader.ReadByte(); } return(runStatus); }
public ZUserDto Parse(ZPacket packet) { var user = new ZUserDto(); using (var memory = new MemoryStream(packet.Payload, false)) using (var binaryReader = new BinaryReader(memory, Encoding.ASCII)) { user.UserId = binaryReader.ReadZUInt32(); user.UserName = binaryReader.ReadZString(); } return(user); }
private IDictionary <string, float> _parseStatsDictionary(ZPacket packet) { IDictionary <string, float> stats; using (var memory = new MemoryStream(packet.Payload, false)) using (var br = new BinaryReader(memory, Encoding.ASCII)) { br.SkipBytes(1); // skip game id var count = br.ReadZUInt16(); stats = new Dictionary <string, float>(count); for (ushort i = 0; i < count; i++) { var statName = br.ReadZString(); var statValue = br.ReadZFloat(); stats.Add(statName, statValue); } } return(stats); }