Emergency 20 Dokumentation  4.2.0
GameAnimation.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 "em5/Export.h"
14 
16 
17 #include <boost/noncopyable.hpp>
18 
19 
20 //[-------------------------------------------------------]
21 //[ Forward declarations ]
22 //[-------------------------------------------------------]
23 namespace qsf
24 {
25  class Clock;
26  class EntityInterpolation;
27 }
28 namespace em5
29 {
30  class MiniMapIconRegistrationLogic;
31 }
32 
33 
34 //[-------------------------------------------------------]
35 //[ Namespace ]
36 //[-------------------------------------------------------]
37 namespace em5
38 {
39 
40 
41  //[-------------------------------------------------------]
42  //[ Classes ]
43  //[-------------------------------------------------------]
48  class EM5_API_EXPORT GameAnimation : public boost::noncopyable
49  {
50 
51 
52  //[-------------------------------------------------------]
53  //[ Public methods ]
54  //[-------------------------------------------------------]
55  public:
60  GameAnimation();
61 
66  virtual ~GameAnimation();
67 
72  void startup();
73 
78  void shutdown();
79 
87  void updateClock(const qsf::Clock& baseClock);
88 
89  qsf::EntityInterpolation& getEntityInterpolation() const;
90 
91  MiniMapIconRegistrationLogic& getMiniMapIconRegistrationLogic() const;
92 
93 
94  //[-------------------------------------------------------]
95  //[ Private methods ]
96  //[-------------------------------------------------------]
97  private:
102  void updateAnimation(const qsf::Clock& clock);
103 
108  void onGameSpeedChange(const qsf::MessageParameters& parameters);
109 
110 
111  //[-------------------------------------------------------]
112  //[ Private data ]
113  //[-------------------------------------------------------]
114  private:
115  qsf::Clock* mAnimationClock;
116  qsf::EntityInterpolation* mEntityInterpolation;
117  qsf::MessageProxy mGameSpeedChangeListener;
118  MiniMapIconRegistrationLogic* mMiniMapIconRegistrationLogic;
119 
120 
121  };
122 
123 
124 //[-------------------------------------------------------]
125 //[ Namespace ]
126 //[-------------------------------------------------------]
127 } // em5
Definition: ActionPriority.h:13
Message parameters class.
Definition: MessageParameters.h:34
Clock class.
Definition: Clock.h:33
#define EM5_API_EXPORT
Definition: Export.h:28
Message listener proxy class.
Definition: MessageProxy.h:47
Minimap registration logic.
Definition: MiniMapIconRegistrationLogic.h:48
Definition: PickupPersonByParamedicAction.h:21
EMERGENCY 5 game animation class.
Definition: GameAnimation.h:48
Entity interpolation controller class.
Definition: EntityInterpolation.h:42