Emergency 20 Dokumentation  4.2.0
TutorialStepIntro.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/job/JobProxy.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  TutorialStepIntro(Tutorial& tutorial);
48 
53  virtual ~TutorialStepIntro();
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  STARTUP,
75  INTRO_END,
76  };
77 
78 
79  //[-------------------------------------------------------]
80  //[ Private methods ]
81  //[-------------------------------------------------------]
82  private:
83  void onIntroFinished(const qsf::MessageParameters& parameters);
84  void onIntroVideoPlaying(const qsf::JobArguments& jobArguments);
85  void setupCameraPosition();
86 
87 
88  //[-------------------------------------------------------]
89  //[ Private data ]
90  //[-------------------------------------------------------]
91  private:
92  STATE mCurrentState;
93  qsf::Time mRemainingWaitTimeForIntroSupervisor;
94  qsf::Time mRemainingWaitTimeBeforeStepEnds;
95  qsf::MessageProxy mMessageProxy;
96  qsf::JobProxy mRealtimeUpdateJobProxy;
97 
98 
99  };
100 
101 
102 //[-------------------------------------------------------]
103 //[ Namespace ]
104 //[-------------------------------------------------------]
105 } // em5
TutorialStepIntro(Tutorial &tutorial)
Default constructor.
Definition: ActionPriority.h:13
virtual ~TutorialStepIntro()
Destructor.
Job proxy class.
Definition: JobProxy.h:51
Message parameters class.
Definition: MessageParameters.h:34
EMERGENCY 5 tutorial step intro.
Definition: TutorialStepIntro.h:35
EMERGENCY 5 tutorial step base class.
Definition: TutorialStep.h:48
Message listener proxy class.
Definition: MessageProxy.h:47
virtual void shutdown() override
Shutdown call for the tutorial step.
Job arguments class: holds data to be passed to the called job method by the job manager.
Definition: JobArguments.h:40
virtual void startup() override
Startup call for the tutorial step.
virtual bool update(const qsf::Time &timePassed) override
Updates the tutorial step.
EMERGENCY 5 tutorial event.
Definition: Tutorial.h:55
Data type for encapsulating time information. It might represents points in time and time spans...
Definition: Time.h:32