Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }