All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CityThemesLoadInitialThemeState.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 #pragma once
3 
4 #include "BaseState.h"
5 #include "CityThemes.h"
6 #include "Modules.h"
7 #include "AsyncModels.h"
8 #include "PlatformConfig.h"
9 #include "ICityThemeChangedObserver.h"
10 
11 namespace Eegeo
12 {
13  namespace WorldStates
14  {
16  {
17  public:
19  const std::string& stateName,
20  Eegeo::Modules::Map::CityThemesModule& cityThemesModule,
21  Eegeo::Modules::Core::AsyncLoadersModule& asyncLoadersModule,
23  const Eegeo::Config::PlatformConfig& platformConfig);
24 
25  void Enter() override;
26 
27  void Update(float dt,
28  const Camera::RenderCamera& renderCamera,
29  const dv3& ecefInterestPoint,
30  Streaming::IStreamingVolume& streamingVolume) override;
31 
32  void Exit() override;
33 
34  void SetChangeStateCallback(IChangeStateCallback* changeStateCallback) override;
35 
36  void ExitState();
37 
38  void OnThemeRequested(const Resources::CityThemes::CityThemeData& newTheme) override;
39  void OnThemeChanged(const Resources::CityThemes::CityThemeData& newTheme) override;
40 
41  private:
42  Eegeo::Modules::Map::CityThemesModule& m_cityThemesModule;
43  Eegeo::Modules::Core::AsyncLoadersModule& m_asyncLoadersModule;
45  IChangeStateCallback* m_pChangeStateCallback;
46  Eegeo::Config::PlatformConfig m_platformConfig;
47  bool m_startedThemeLoad;
48  };
49  }
50 }