All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
UnityInteriorSceneBuilderModule.h
1 #pragma once
2 
3 #include "IInteriorSceneBuilderModule.h"
4 #include "Unity.h"
5 #include "UnityInteriorsMaterialProviderFactory.h"
6 #include "ICallback.h"
7 
8 namespace Eegeo
9 {
10  namespace Unity
11  {
13  {
14  public:
15 
17  Modules::Core::RenderingModule& renderingModule,
18  Resources::Interiors::InteriorInteractionModel& interiorInteractionModel,
20  UnityAsyncTextureLoader& asyncTextureLoader,
21  const UnityCallbacks& unityCallbacks);
22 
24 
25  Resources::Interiors::Builder::IInteriorRenderableServiceFactory& GetInteriorRenderableServiceFactory() override;
26 
27  Resources::Interiors::Materials::IInteriorsMaterialProviderFactory& GetInteriorsMaterialProviderFactory() override;
28 
29  private:
30 
31  void OnInteriorInteractionModelChanged();
32 
33  void OnCellResourceRemovedFromSceneGraph(const Resources::Interiors::InteriorsCellResource& cellResource);
34 
35  void OnCellResourceAddedToSceneGraph(const Resources::Interiors::InteriorsCellResource& cellResource);
36 
37  static void ActivateInteriorRenderableSetsInUnity(std::vector<const Resources::Interiors::InteriorsFloorCell*> floorCells, bool activate);
38 
39  Resources::Interiors::InteriorInteractionModel& m_interiorInteractionModel;
41 
42  UnityAsyncTextureLoader& m_asyncTextureLoader;
43  UnityInteriorRenderableServiceFactory* m_pInteriorRenderableServiceFactory;
44  const Resources::Interiors::InteriorsModel* m_pCurrentInteriorModel;
45  Helpers::TCallback0<UnityInteriorSceneBuilderModule> m_interiorInteractionModelChangedCallback;
46  UnityInteriorsMaterialProviderFactory m_interiorsMaterialProviderFactory;
49  };
50  }
51 }
52