All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsModelEvictor.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Interiors.h"
7 #include "ICallback.h"
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Resources
13  {
14  namespace Interiors
15  {
17  {
18  public:
19 
22 
23  void Update();
24 
25  private:
26 
27  void OnModelAdded(InteriorsModel& model);
28  void OnModelRemoved(InteriorsModel& model);
29  void OnModelCellsInMemoryCountChanged(const InteriorsModel& model);
30 
31  InteriorsModelRepository& m_repository;
32 
33  std::vector<const InteriorsModel*> m_destructionList;
34 
37  Helpers::TCallback1<InteriorsModelEvictor, const InteriorsModel&> m_modelCellsInMemoryCountChangedCallback;
38  };
39  }
40  }
41 }