Terminus
enginewagon.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include <world/lightmanager.h>
5 
6 namespace terminus
7 {
8 
12 class EngineWagon : public AbstractWagon
13 {
14 
15 public:
16  EngineWagon(World & world, Train * train);
17  virtual ~EngineWagon();
18 
19  virtual void localUpdate() override;
20 
21  virtual void primaryActionInternal() override;
22 
23  virtual float maxHealth() const;
24 
25  virtual float cooldownTime() const override;
26 
27  virtual WagonType wagonType() const override;
28 
29  void playSound() const;
30 
31 protected:
32  virtual QVector3D lightPosition();
33 
34 protected:
36 };
37 
38 }
virtual QVector3D lightPosition()
Definition: enginewagon.cpp:91
void playSound() const
Definition: enginewagon.cpp:81
virtual void primaryActionInternal() override
The method that every wagon should override in order to define the wagon-specific primary action...
Definition: enginewagon.cpp:47
EngineWagon(World &world, Train *train)
Definition: enginewagon.cpp:20
virtual float maxHealth() const
Definition: enginewagon.cpp:59
The EngineWagon class provides a wagon type, which primary action increases the trains velocity...
Definition: enginewagon.h:12
virtual float cooldownTime() const override
Definition: enginewagon.cpp:54
unsigned int ID
Definition: lightmanager.h:24
LightManager::ID m_headLight
Definition: enginewagon.h:35
The World class represents a running game instance and contains all graphical (3D) elements of the sc...
Definition: world.h:46
virtual WagonType wagonType() const override
Definition: enginewagon.cpp:96
virtual void localUpdate() override
Updates wagon position and rotation.
Definition: enginewagon.cpp:64
Definition: eventhandler.cpp:18
The AbstractWagon class provides a common interface for all wagon types and contains common functiona...
Definition: abstractwagon.h:25
virtual ~EngineWagon()
Definition: enginewagon.cpp:42
WagonType
Definition: abstractwagon.h:13
The Train class works as a logical container for all wagons one train consists of.
Definition: train.h:25