Emergency 20 Dokumentation  4.2.0
CarTheftEventFactory.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
14 
15 
16 //[-------------------------------------------------------]
17 //[ Forward declarations ]
18 //[-------------------------------------------------------]
19 namespace qsf
20 {
21  class Entity;
22 }
23 
24 
25 //[-------------------------------------------------------]
26 //[ Namespace ]
27 //[-------------------------------------------------------]
28 namespace em5
29 {
30 
31 
32  //[-------------------------------------------------------]
33  //[ Classes ]
34  //[-------------------------------------------------------]
40  {
41 
42 
43  //[-------------------------------------------------------]
44  //[ Public methods ]
45  //[-------------------------------------------------------]
46  public:
52 
57  virtual ~CarTheftEventFactory();
58 
59 
60  //[-------------------------------------------------------]
61  //[ Public virtual em5::FreeplayEventFactory methods ]
62  //[-------------------------------------------------------]
63  public:
64  virtual FreeplayEvent* tryTriggerEvent() override;
65 
66 
67  //[-------------------------------------------------------]
68  //[ Private methods ]
69  //[-------------------------------------------------------]
70  private:
71  std::pair<qsf::Entity*, qsf::Entity*> findCandidate() const;
72  qsf::Entity* findCar() const;
73  bool checkCar(qsf::Entity& car) const;
74 
75 
76  //[-------------------------------------------------------]
77  //[ CAMP reflection system ]
78  //[-------------------------------------------------------]
79  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
80 
81 
82  };
83 
84 
85 //[-------------------------------------------------------]
86 //[ Namespace ]
87 //[-------------------------------------------------------]
88 } // em5
89 
90 
91 //[-------------------------------------------------------]
92 //[ CAMP reflection system ]
93 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
Entity class.
Definition: Entity.h:46
#define EM5_API_EXPORT
Definition: Export.h:28
EMERGENCY 5 freeplay event factory for "car theft".
Definition: CarTheftEventFactory.h:39
Definition: PickupPersonByParamedicAction.h:21
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
EMERGENCY 5 freeplay event factory base class.
Definition: FreeplayEventFactory.h:56
Abstract EMERGENCY 5 freeplay event base class.
Definition: FreeplayEvent.h:66