All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BinaryThemeManifestParser.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "CityThemes.h"
5 #include "BinaryParsing.h"
6 #include "ChunkedFileFormat.h"
7 #include "BinaryThemeParser.h"
8 #include "BinaryInteriorMaterialsParser.h"
9 #include "InteriorsMaterialsConfiguration.h"
10 
11 #include <iostream>
12 #include <vector>
13 
14 namespace Eegeo
15 {
16  namespace Resources
17  {
18  namespace CityThemes
19  {
20  namespace BinaryThemeParsing
21  {
23  {
24  public:
25  BinaryThemeManifestParser(bool parseEmbeddedThemes, const std::string& embeddedThemeTextureRoot);
26 
27  bool ParseThemeManifest(const std::vector<Byte>& resourceData, EnvironmentThemesData& environmentThemesData, int manifestId);
28 
29  private:
30 
31  void ParseInteriorMaterials(
34  Interiors::Materials::InteriorsMaterialsConfiguration& interiorsMaterialsConfig) const;
35 
36  void ParseThemes(
39  std::vector<CityThemeData*>& themes,
40  int manifestId);
41 
42  bool m_parseEmbeddedThemes;
43  const std::string& m_embeddedThemeTextureRoot;
44  BinaryThemeParser m_themeParser;
45  BinaryInteriorMaterialsParser m_interiorMaterialsParser;
46  };
47  }
48  }
49  }
50 }