All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TransportPositionerModule.h
1 #pragma once
2 
3 #include "Transport.h"
4 #include "Types.h"
5 #include "TransportPositionerTypes.h"
6 #include "Modules.h"
7 #include "Collision.h"
8 
9 namespace Eegeo
10 {
11  namespace Transport
12  {
14  {
15  public:
16  static TransportPositionerModule* Create(
17  Positioning::PositioningModule& positioningModule,
19  Eegeo::Transport::TransportGraphModule& transportGraphModule,
20  Eegeo::Collision::IRayPicker& terrainRayPicker
21  );
22 
24 
25  ITransportPositionerService& GetTransportPositionerService() const;
26 
27  void Update(float deltaTime);
28  private:
30  ITransportPositionerIdGenerator* pTransportPositionerIdGenerator,
31  ITransportPositionerModelFactory* pTransportPositionerModelFactory,
32  TransportPositionerModelRepository* pTransportPositionerModelRepository,
33  ITransportPositionerService* pTransportPositionerService,
34  TransportPositionerModelController* pTransportPositionerModelController,
35  ITransportPositionerMatcher* pTransportPositionerMatcher,
36  ITransportPositionerModelInputChangedEvent* pTransportPositionerModelInputChangedEvent,
37  ITransportPositionerPointOnGraphChangedEvent* pTransportPositionerPointOnGraphChangedEvent
38  );
39 
40  ITransportPositionerIdGenerator* const m_pTransportPositionerIdGenerator;
41  ITransportPositionerModelFactory* const m_pTransportPositionerModelFactory;
42  TransportPositionerModelRepository* const m_pTransportPositionerModelRepository;
43  ITransportPositionerService* const m_pTransportPositionerModelService;
44  TransportPositionerModelController* const m_pTransportPositionerModelController;
45  ITransportPositionerMatcher* const m_pTransportPositionerMatcher;
46  ITransportPositionerModelInputChangedEvent* const m_pTransportPositionerModelInputChangedEvent;
47  ITransportPositionerPointOnGraphChangedEvent* const m_pTransportPositionerPointOnGraphChangedEvent;
48  };
49  }
50 }