Emergency 20 Dokumentation  4.2.0
TutorialStepOutro.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 #include <qsf/map/Entity.h>
18 
19 
20 //[-------------------------------------------------------]
21 //[ Namespace ]
22 //[-------------------------------------------------------]
23 namespace em5
24 {
25 
26 
27  //[-------------------------------------------------------]
28  //[ Classes ]
29  //[-------------------------------------------------------]
36  {
37 
38 
39  //[-------------------------------------------------------]
40  //[ Public methods ]
41  //[-------------------------------------------------------]
42  public:
47  TutorialStepOutro(Tutorial& tutorial);
48 
53  virtual ~TutorialStepOutro();
54 
55 
56  //[-------------------------------------------------------]
57  //[ Public virtual em5::TutorialStep methods ]
58  //[-------------------------------------------------------]
59  public:
60  virtual void startup() override;
61  virtual bool update(const qsf::Time& timePassed) override;
62  virtual void shutdown() override;
63 
64 
65  //[-------------------------------------------------------]
66  //[ Private definitions ]
67  //[-------------------------------------------------------]
68  private:
69  enum class STATE
70  {
71  INIT,
72  STARTUP,
78  OUTRO_END,
79  };
80 
81 
82  //[-------------------------------------------------------]
83  //[ Private methods ]
84  //[-------------------------------------------------------]
85  private:
86  void onReturnToBaseExecuted(const qsf::MessageParameters& parameters);
87  void onFadeoutFinished(const qsf::MessageParameters& parameters);
88  // TODO(sw) Only needed for gamescom version
89  void setupMoveCameraToHq();
90  void setupForOutroCutscene();
91 
92 
93  //[-------------------------------------------------------]
94  //[ Private data ]
95  //[-------------------------------------------------------]
96  private:
97  STATE mCurrentState;
98  qsf::WeakPtr<qsf::Entity> mFollowEntity;
99  qsf::Time mRemainingWaitTimeBeforeSupervisor38Start;
100  qsf::MessageProxy mMessageProxy;
101 
102 
103  };
104 
105 
106 //[-------------------------------------------------------]
107 //[ Namespace ]
108 //[-------------------------------------------------------]
109 } // em5
Definition: ActionPriority.h:13
virtual ~TutorialStepOutro()
Destructor.
Message parameters class.
Definition: MessageParameters.h:34
EMERGENCY 5 tutorial step outro.
Definition: TutorialStepOutro.h:35
virtual void startup() override
Startup call for the tutorial step.
EMERGENCY 5 tutorial step base class.
Definition: TutorialStep.h:48
Message listener proxy class.
Definition: MessageProxy.h:47
TutorialStepOutro(Tutorial &tutorial)
Default constructor.
virtual bool update(const qsf::Time &timePassed) override
Updates the tutorial step.
EMERGENCY 5 tutorial event.
Definition: Tutorial.h:55
virtual void shutdown() override
Shutdown call for the tutorial step.
Data type for encapsulating time information. It might represents points in time and time spans...
Definition: Time.h:32