All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsMaterialAssignmentObserver.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 
6 #include "Interiors.h"
7 #include "IInteriorsMaterialAssignmentObserver.h"
8 #include "Types.h"
9 #include "ICallback.h"
10 #include "Rendering.h"
11 
12 #include <map>
13 
14 namespace Eegeo
15 {
16  namespace Resources
17  {
18  namespace Interiors
19  {
21  {
22  public:
23  void NotifyMaterialAssignedToRenderable(Rendering::Renderables::InteriorRenderable& interiorRenderable) const;
24 
25  void RegisterCallback(const Rendering::Materials::IMaterial* pMaterial, const TCallback& callback);
26  void UnregisterCallback(const Rendering::Materials::IMaterial* pMaterial);
27  private:
28 
29  typedef std::map<const Rendering::Materials::IMaterial*, const TCallback*> TRenderableToCallback;
30 
31  TRenderableToCallback m_callbacks;
32  };
33  }
34  }
35 }