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 }; })); }
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 }; })); }