static IEnumerable <Object> ReadAnonymousArray(Stream input) { var entries = BinaryFile.ReadCompressedInteger(input); var objects = new List <Object>(); for (var i = 0; i < entries; i++) { var subType = input.ReadByte(); switch (subType) { case 0: objects.Add(BinaryFile.ReadString(input)); break; case 1: objects.Add(BinaryFile.ReadFloat32(input)); break; case 2: objects.Add(BinaryFile.ReadInt32(input)); break; case 3: objects.Add(ReadAnonymousArray(input)); break; //TODO - need to do something with this ! //case 4: objects.Add(BinaryFile.ReadString(input)); break; default: throw new RapFormatException("Unexpected array element type " + subType + " found in rap file"); } } return(objects); }
FloatProperty ReadConfigFloat(string name) { var value = BinaryFile.ReadFloat32(_input); return(new FloatProperty(name, value)); }