All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AnimatedObjectsModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 
6 #include "Types.h"
7 #include "Modules.h"
8 #include "Rendering.h"
9 #include "Lighting.h"
10 #include "AnimatedObjects.h"
11 #include "CityThemes.h"
12 #include "VectorMathDecl.h"
13 #include "Camera.h"
14 
15 namespace Eegeo
16 {
17  namespace Modules
18  {
20  {
21  Eegeo::AnimatedObjects::AnimatedObjectsRepository* m_pAnimatedObjectsRepository;
22  Eegeo::AnimatedObjects::AnimatedObjectsController* m_pAnimatedObjectsController;
23  Eegeo::AnimatedObjects::AnimatedObjectsRenderer* m_pAnimatedObjectsRenderer;
25  Resources::CityThemes::CityThemeAnimatedObjectsObserver* m_pCityThemesAnimatedObjectsObserver;
26  Eegeo::Rendering::Materials::NullMaterial* m_pAnimatedObjectsNullMaterial;
27 
28  Rendering::Filters::RenderableRepository& m_renderableRepository;
29 
31  Rendering::EnvironmentFlatteningService& environmentFlatteningService,
32  Lighting::GlobalFogging& globalFogging,
33  Rendering::Filters::RenderableRepository& renderableRepository,
34  Resources::CityThemes::CityThemesAnimatedObjectsLoader& cityThemesAnimatedObjectsLoader);
35 
36  public:
37  static AnimatedObjectsModule* Create(
38  Modules::Core::CoreModule& coreModule,
39  Modules::Map::MapModule& mapModule);
40 
42 
43  void Update(float dt, const Camera::RenderCamera& renderCamera);
44 
45  AnimatedObjects::AnimatedObjectsRepository& GetAnimatedObjectsRepository() const;
46  AnimatedObjects::AnimatedObjectsController& GetAnimatedObjectsController() const;
47  };
48  }
49 }