Emergency 20 Dokumentation  4.2.0
AiLevelOfDetailComponent.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 JobArguments;
22 }
23 
24 
25 //[-------------------------------------------------------]
26 //[ Namespace ]
27 //[-------------------------------------------------------]
28 namespace em5
29 {
30 
31 
32  //[-------------------------------------------------------]
33  //[ Classes ]
34  //[-------------------------------------------------------]
57  {
58 
59 
60  //[-------------------------------------------------------]
61  //[ Public definitions ]
62  //[-------------------------------------------------------]
63  public:
64  static const uint32 COMPONENT_ID;
66 
67 
68  //[-------------------------------------------------------]
69  //[ Public methods ]
70  //[-------------------------------------------------------]
71  public:
72  inline AiLevelOfDetailComponent(qsf::Prototype* prototype);
73 
74  // Query whether to use full or reduced detail for the simulation
75  inline bool useFullDetail() const;
76 
77  // Job system interface
78  void update(const qsf::JobArguments& jobArguments);
79 
80 
81  //[-------------------------------------------------------]
82  //[ Public virtual qsf::Component methods ]
83  //[-------------------------------------------------------]
84  public:
85  virtual void serialize(qsf::BinarySerializer& serializer) override;
86 
87 
88  //[-------------------------------------------------------]
89  //[ Private data ]
90  //[-------------------------------------------------------]
91  private:
92  bool mUseFullDetail;
93 
94 
95  //[-------------------------------------------------------]
96  //[ CAMP reflection system ]
97  //[-------------------------------------------------------]
98  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
99 
100 
101  };
102 
103 
104 //[-------------------------------------------------------]
105 //[ Namespace ]
106 //[-------------------------------------------------------]
107 } // em5
108 
109 
110 //[-------------------------------------------------------]
111 //[ Implementation ]
112 //[-------------------------------------------------------]
114 
115 
116 //[-------------------------------------------------------]
117 //[ CAMP reflection system ]
118 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
Abstract component class.
Definition: Component.h:105
unsigned int uint32
Definition: PlatformTypes.h:181
void update(const qsf::JobArguments &jobArguments)
Job arguments class: holds data to be passed to the called job method by the job manager.
Definition: JobArguments.h:40
static const uint32 ACTIVATION_PROPERTY_ID
Unique CAMP ID of the boolean activation property.
Definition: AiLevelOfDetailComponent.h:65
Definition: PickupPersonByParamedicAction.h:21
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
AI level of detail component.
Definition: AiLevelOfDetailComponent.h:56
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
AiLevelOfDetailComponent(qsf::Prototype *prototype)
Definition: AiLevelOfDetailComponent-inl.h:14
Prototype class.
Definition: Prototype.h:100
static const uint32 COMPONENT_ID
"em5::AiLevelOfDetailComponent" unique component ID
Definition: AiLevelOfDetailComponent.h:64
Binary serializer class.
Definition: BinarySerializer.h:35
virtual void serialize(qsf::BinarySerializer &serializer) override
Serialize or deserialize the component using a binary serializer.
bool useFullDetail() const
Definition: AiLevelOfDetailComponent-inl.h:21