All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsCellResource.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "BuiltResourceWithKey.h"
6 #include "Types.h"
7 #include "Interiors.h"
8 #include "Rendering.h"
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace Resources
14  {
15  namespace Interiors
16  {
18  {
19  public:
20  typedef std::vector<const InteriorsFloorCell*> InteriorsFloorCellVector;
21 
22  InteriorsCellResource(const InteriorsFloorCellVector& floorCells,
23  const std::string& interiorName,
24  InteriorsModelRepository& repository,
25  Entities::InteriorsEntitiesRepository& interiorsEntitiesRepository,
26  InteriorsCellResourceObserver& interiorsCellResourceObserver,
27  const Streaming::MortonKey& mortonKey);
29 
30  void Unload();
31  void RemovedFromSceneGraph();
32  void AddedToSceneGraph();
33 
34  InteriorId GetInteriorId() const;
35  const InteriorsFloorCellVector& GetFloorCells() const;
36 
37  private:
38 
39  InteriorsModelRepository& m_repository;
40  Entities::InteriorsEntitiesRepository& m_interiorsEntitiesRepository;
41  InteriorsCellResourceObserver& m_interiorsCellResourceObserver;
42  std::string m_interiorName;
43  InteriorsFloorCellVector m_floorCells;
44  bool m_addedToSceneGraph;
45  };
46  }
47  }
48 }