84 virtual float length()
const;
virtual void setPositionOffset(float accumulatedOffset)
Sets the distance between this wagon and the first wagon on the spline.
Definition: abstractwagon.cpp:167
float m_health
Definition: abstractwagon.h:128
virtual bool isOnCooldown() const
Definition: abstractwagon.cpp:113
virtual void resetCooldown() const
Definition: abstractwagon.cpp:108
virtual void onBindCamera() override
saves the previous camera position to animate the camera transition
Definition: abstractwagon.cpp:68
virtual float cooldownTime() const =0
Train * m_train
Definition: abstractwagon.h:133
virtual void primaryActionInternal()=0
The method that every wagon should override in order to define the wagon-specific primary action...
virtual QVector3D localCameraCenter()
Calculates the camera position vector in model space.
Definition: abstractwagon.cpp:191
virtual ~AbstractWagon()
Definition: abstractwagon.cpp:29
virtual void primaryActionDebug() final
Invokes wagon-specific primary action without any checks.
Definition: abstractwagon.cpp:47
AbstractWagon(World &world, Train *train)
Definition: abstractwagon.cpp:19
virtual void onCollisionWith(AbstractPhysicsObject *other) override
Shakes the camera if the wagon was hit by a Projectile.
Definition: abstractwagon.cpp:172
virtual WagonType wagonType() const
Definition: abstractwagon.cpp:162
The AbstractPhysicsObject class represents a graphical scene element with a physics-based aspect...
Definition: abstractphysicsobject.h:21
virtual void localUpdate() override
Updates wagon position and rotation.
Definition: abstractwagon.cpp:52
virtual void setHealth(float health)
Definition: abstractwagon.cpp:128
Definition: abstractwagon.h:16
virtual void adjustCamera()
moves the camera according to this wagons position and orientation
Definition: abstractwagon.cpp:76
unsigned int TimerID
Definition: timer.h:21
virtual float length() const
Definition: abstractwagon.cpp:147
Definition: abstractwagon.h:18
bool m_disabled
Definition: abstractwagon.h:129
virtual float currentHealth() const
Definition: abstractwagon.cpp:123
virtual void rotateEvent(QVector2D rotation)
rotates the camera position in model space
Definition: abstractwagon.cpp:92
virtual QVector3D localCameraEye()
Calculates the camera eye vector in model space.
Definition: abstractwagon.cpp:208
QVector3D m_cameraEyeOffset
Definition: abstractwagon.h:122
Definition: abstractwagon.h:17
virtual float maxHealth() const
Definition: abstractwagon.cpp:103
The World class represents a running game instance and contains all graphical (3D) elements of the sc...
Definition: world.h:46
virtual short possibleCollisionTypes() const override
The groups of objects that this object will collide with.
Definition: abstractwagon.cpp:186
virtual short myCollisionType() const override
The collision group that this object is member of.
Definition: abstractwagon.cpp:181
Timer::TimerID m_cooldownTimer
Definition: abstractwagon.h:131
A kinematic physics object is a "scripted" physics object, meaning that it will set its own movement...
Definition: kinematicphysicsobject.h:13
virtual bool isDisabled() const
Definition: abstractwagon.cpp:157
QVector3D m_previousCenter
Definition: abstractwagon.h:124
Definition: eventhandler.cpp:18
The AbstractWagon class provides a common interface for all wagon types and contains common functiona...
Definition: abstractwagon.h:25
Timer::TimerID m_cameraTimer
Definition: abstractwagon.h:125
QQuaternion rotation() const
Definition: abstractgraphicsobject.cpp:156
float m_positionOffset
Definition: abstractwagon.h:127
virtual float cooldown() const
Definition: abstractwagon.cpp:118
virtual void primaryAction() final
Invokes wagon-specific primary action if the wagon is enabled and is not on cooldown.
Definition: abstractwagon.cpp:35
virtual bool isOtherTrainLeft() const
Determines whether the primary view direction should be left or right.
Definition: abstractwagon.cpp:152
WagonType
Definition: abstractwagon.h:13
Definition: abstractwagon.h:15
QVector3D m_previousEye
Definition: abstractwagon.h:123
The Train class works as a logical container for all wagons one train consists of.
Definition: train.h:25