示例#1
0
        internal static ScriptsPlayers Parse(BinaryReader reader, MapParseContext context)
        {
            return(ParseAsset(reader, context, version =>
            {
                var hasPlayerProperties = false;
                if (version > 1)
                {
                    hasPlayerProperties = reader.ReadBooleanUInt32Checked();
                }

                var numPlayers = reader.ReadUInt32();

                var scriptPlayers = new ScriptsPlayer[numPlayers];
                for (var i = 0; i < scriptPlayers.Length; i++)
                {
                    scriptPlayers[i] = ScriptsPlayer.Parse(reader, context, hasPlayerProperties);
                }

                return new ScriptsPlayers
                {
                    HasPlayerProperties = hasPlayerProperties,
                    Players = scriptPlayers
                };
            }));
        }
示例#2
0
        internal static ScriptsPlayers Parse(BinaryReader reader, MapParseContext context)
        {
            return(ParseAsset(reader, context, version =>
            {
                var hasPlayerProperties = false;
                if (version > 1)
                {
                    hasPlayerProperties = reader.ReadBooleanUInt32Checked();
                }

                var numPlayers = reader.ReadUInt32();

                ushort unknown = 0;
                if (version < 2)
                {
                    unknown = reader.ReadUInt16();
                    if (unknown != 0)
                    {
                        throw new InvalidDataException();
                    }
                }

                var scriptPlayers = new ScriptsPlayer[numPlayers];
                for (var i = 0; i < scriptPlayers.Length; i++)
                {
                    scriptPlayers[i] = ScriptsPlayer.Parse(reader, context, hasPlayerProperties);
                }

                return new ScriptsPlayers
                {
                    HasPlayerProperties = hasPlayerProperties,
                    Unknown = unknown,
                    Players = scriptPlayers
                };
            }));
        }