Terminus
Public Member Functions | Protected Attributes | List of all members
terminus::ProjectileFiredCommand Class Reference

The ProjectileFiredCommand indicates that a projectile has been fired and contains the position as well as the movement vector. More...

#include <projectilefiredcommand.h>

Inheritance diagram for terminus::ProjectileFiredCommand:
terminus::AbstractCommand

Public Member Functions

 ProjectileFiredCommand (Timer::TimerMSec timeStamp, QVector3D startPosition, QVector3D velocity)
 
 ProjectileFiredCommand (Timer::TimerMSec timeStamp, QJsonObject jsonObject)
 
virtual QJsonObject toJson () const override
 Every command must define how its members can be serialized. More...
 
virtual void doWork () override
 Every Commands must define its effects on the receiving game. More...
 
virtual Commands commandType () const override
 Every Command must specify its type. More...
 
QVector3D startPosition () const
 
QVector3D velocity () const
 
- Public Member Functions inherited from terminus::AbstractCommand
 AbstractCommand (Timer::TimerMSec timeStamp)
 
virtual ~AbstractCommand ()
 
void setGame (Game *game)
 set the game instance this command should operate on More...
 
Timer::TimerMSec timeStamp () const
 get the time as counted by the sending game that this command was created and sent More...
 

Protected Attributes

QVector3D m_startPosition
 
QVector3D m_velocity
 
- Protected Attributes inherited from terminus::AbstractCommand
Gamem_game
 
Timer::TimerMSec m_timeStamp
 

Additional Inherited Members

- Static Protected Member Functions inherited from terminus::AbstractCommand
static QJsonObject VectorToJsonObject (QVector3D vector)
 
static QVector3D VectorFromJsonObject (QJsonObject jsonObject)
 

Detailed Description

The ProjectileFiredCommand indicates that a projectile has been fired and contains the position as well as the movement vector.

A projectile that gets spawned as result of this command has the AbstractPhysicsObject::m_spawnedLocally flag set to false. This means that collisions of this projectile do not deal any damage.

See also
ProjectileHitCommand, Projectile

Constructor & Destructor Documentation

terminus::ProjectileFiredCommand::ProjectileFiredCommand ( Timer::TimerMSec  timeStamp,
QVector3D  startPosition,
QVector3D  velocity 
)
terminus::ProjectileFiredCommand::ProjectileFiredCommand ( Timer::TimerMSec  timeStamp,
QJsonObject  jsonObject 
)

Member Function Documentation

Commands terminus::ProjectileFiredCommand::commandType ( ) const
overridevirtual

Every Command must specify its type.

Returns
enum constant from Commands
See also
Commands

Implements terminus::AbstractCommand.

void terminus::ProjectileFiredCommand::doWork ( )
overridevirtual

Every Commands must define its effects on the receiving game.

This Method is guaranteed to be executed in the receiving game's frame update context with a valid Game instance in m_game

Implements terminus::AbstractCommand.

QVector3D terminus::ProjectileFiredCommand::startPosition ( ) const
QJsonObject terminus::ProjectileFiredCommand::toJson ( ) const
overridevirtual

Every command must define how its members can be serialized.

Returns
A QJsonObject containing the parameters / members

Implements terminus::AbstractCommand.

QVector3D terminus::ProjectileFiredCommand::velocity ( ) const

Member Data Documentation

QVector3D terminus::ProjectileFiredCommand::m_startPosition
protected
QVector3D terminus::ProjectileFiredCommand::m_velocity
protected

The documentation for this class was generated from the following files: