All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
UnityInteriorsMaterialFactory.h
1 #pragma once
2 
3 #include "IInteriorsMaterialFactory.h"
4 #include "UnityCallbacks.h"
5 #include "InteriorsMaterials.h"
6 #include "Modules.h"
7 #include "Lighting.h"
8 
9 namespace Eegeo
10 {
11  namespace Unity
12  {
14  {
15  public:
16 
18  const IndoorMapCallbacks& indoorMapCallbacks,
20  Rendering::Materials::MaterialIdGenerator& materialIdGenerator,
21  const Resources::Interiors::InteriorsShader& interiorsVertexColoredShader,
22  const Lighting::GlobalLighting& globalLighting,
24 
26 
27  virtual Eegeo::Rendering::Materials::IMaterial* TryCreate(
28  const std::string& interiorName,
29  const Resources::Interiors::InteriorMaterialData& interiorMaterialData) override;
30 
31  private:
32 
33  const void* CreateUnityMaterial(const std::string& interiorName, const Resources::Interiors::InteriorMaterialData& materialData);
34 
35  const IndoorMapCallbacks& m_indoorMapCallbacks;
37 
38  Rendering::Materials::MaterialIdGenerator& m_materialIdGenerator;
39  const Resources::Interiors::InteriorsShader& m_interiorsVertexColoredShader;
40  const Lighting::GlobalLighting& m_globalLighting;
42  };
43  }
44 }
45