Emergency 20 Dokumentation  4.2.0
ME06SparkIgniter.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 //[-------------------------------------------------------]
13 #include <qsf/job/JobProxy.h>
15 
16 
17 //[-------------------------------------------------------]
18 //[ Forward declarations ]
19 //[-------------------------------------------------------]
20 namespace em5
21 {
22  class FreeplayEvent;
23 }
24 namespace qsf
25 {
26  class Entity;
27  class ParticlesComponent;
28 }
29 
30 
31 //[-------------------------------------------------------]
32 //[ Namespace ]
33 //[-------------------------------------------------------]
34 namespace em5
35 {
36 
37 
38  //[-------------------------------------------------------]
39  //[ Classes ]
40  //[-------------------------------------------------------]
50  {
51  public:
54 
55  public:
56  void initialise(FreeplayEvent* freeplayEvent, qsf::Time ignitionTime, qsf::Entity* igniter, qsf::Entity* sparks, qsf::Entity* ignitable);
57  void update(const qsf::JobArguments& jobArguments);
58 
59  private:
60  void onIgnite();
61  void onExtinguish();
62  void onTargetExtinguished();
63 
64  // Proxys
65  private:
66  qsf::JobProxy mTimer;
67  qsf::MessageProxy mStartBurningProxy;
68  qsf::MessageProxy mStopBurningProxy;
69  qsf::MessageProxy mTargetStopBurningProxy;
70 
71  // Required stuff
72  private:
73  FreeplayEvent* mFreeplayEvent;
74  uint64 mIgniterId;
75  uint64 mIgnitableId;
76  qsf::ParticlesComponent* mSparksParticlesComponent;
77  qsf::Entity* mIgnitableEntity;
78  qsf::Time mSparksFlyingTime;
79  qsf::Time mIgnitionTime;
80  bool mIsBurning;
81  };
82 
83 
84 }
Definition: ActionPriority.h:13
Job proxy class.
Definition: JobProxy.h:51
Entity class.
Definition: Entity.h:46
Message listener proxy class.
Definition: MessageProxy.h:47
void update(const qsf::JobArguments &jobArguments)
ME06 has three objects that cause sparks when burning.
Definition: ME06SparkIgniter.h:49
uint64_t uint64
Definition: PlatformTypes.h:184
void initialise(FreeplayEvent *freeplayEvent, qsf::Time ignitionTime, qsf::Entity *igniter, qsf::Entity *sparks, qsf::Entity *ignitable)
Job arguments class: holds data to be passed to the called job method by the job manager.
Definition: JobArguments.h:40
Definition: PickupPersonByParamedicAction.h:21
Abstract EMERGENCY 5 freeplay event base class.
Definition: FreeplayEvent.h:66
Particles component class.
Definition: ParticlesComponent.h:58
Data type for encapsulating time information. It might represents points in time and time spans...
Definition: Time.h:32