flimEngine
Bullet Class Reference

#include <Bullet.h>

Inheritance diagram for Bullet:
Inheritance graph
Collaboration diagram for Bullet:
Collaboration graph

Public Member Functions

 Bullet ()
 
 Bullet (const Bullet &)=default
 
virtual ~Bullet ()
 
const Bulletoperator= (const Bullet &)
 
void Initialize (int x, int y, int z)
 
void Initialize (Vect &pos, Vect &fw)
 
virtual errcode Collision (Enemy *)
 
virtual errcode Collision (Sentry *)
 
virtual errcode Collision (Tank *)
 
errcode CollisionTerrain (const CollisionVolumeAABB &) override
 Collision terrain. More...
 
Fired getFired ()
 
void setFired (Fired f)
 
virtual errcode Update () override
 Called every frame. More...
 
virtual errcode Draw () override
 Draw callback to override. More...
 
errcode SceneEntry () override
 Scene entry callback. More...
 
errcode SceneExit () override
 Scene exit callback. More...
 
- Public Member Functions inherited from GameObject
 GameObject ()
 
virtual ~GameObject ()
 
GameObjectoperator= (const GameObject &)=default
 
 GameObject (const GameObject &)=default
 
errcode SubmitEntry ()
 Submit entry to the scene. More...
 
errcode SubmitExit ()
 Submit exit to the scene. More...
 
- Public Member Functions inherited from Updatable
 Updatable ()
 
virtual ~Updatable ()
 
 Updatable (const Updatable &)=delete
 
const Updatableoperator= (const Updatable &)=delete
 
errcode SubmitUpdateRegistration ()
 Submit update registration. More...
 
errcode SubmitUpdateDeregistration ()
 Submit update deregistration. More...
 
- Public Member Functions inherited from Drawable
 Drawable ()
 
virtual ~Drawable ()
 
 Drawable (const Drawable &)=delete
 
const Drawableoperator= (const Drawable &)=delete
 
virtual errcode Draw2D ()
 
errcode SubmitDrawRegistration ()
 Submit draw registration. More...
 
errcode SubmitDrawDeregistration ()
 Submit draw deregistration. More...
 
std::list< Drawable * >::iterator GetDeletionIterator ()
 
errcode SetDeletionIterator (std::list< Drawable *>::iterator in)
 
- Public Member Functions inherited from Inputable
 Inputable ()
 
virtual ~Inputable ()
 
 Inputable (const Inputable &)=delete
 
const Inputableoperator= (const Inputable &)=delete
 
virtual errcode KeyPressed (AZUL_KEY key)
 Key pressed callback. More...
 
virtual errcode KeyReleased (AZUL_KEY key)
 Key released. More...
 
errcode SubmitInputRegistration (AZUL_KEY key, input_type type)
 Submit input registration. More...
 
errcode SubmitInputDeregistration (AZUL_KEY key, input_type type)
 Submit input deregistration. More...
 
std::list< Inputable * >::iterator GetDeletionIterator ()
 
errcode SetDeletionIterator (std::list< Inputable *>::iterator in)
 
- Public Member Functions inherited from Alarmable
 Alarmable ()
 
Alarmableoperator= (const Alarmable &)
 
virtual ~Alarmable ()
 
 Alarmable (const Alarmable &)
 
errcode SubmitAlarmDeregistration (AlarmableManager::ALARM_ID id)
 Submit alarm deregistration. More...
 
errcode SubmitAlarmRegistration (float t, AlarmableManager::ALARM_ID id)
 Submit alarm registration. More...
 
float TimeLeft (AlarmableManager::ALARM_ID id)
 Time left on one of the alarms. More...
 
errcode ChangeTime (float t, AlarmableManager::ALARM_ID id)
 Change time. More...
 
errcode AddTime (float t, AlarmableManager::ALARM_ID id)
 Adds a time to 'id'. More...
 
errcode SubtractTime (float t, AlarmableManager::ALARM_ID id)
 Subtract time. More...
 
bool IsRegistered (AlarmableManager::ALARM_ID id)
 Query if 'id' is registered. More...
 
errcode SetDeletionIter (int alarmNumber, std::multimap< float, AlarmableManager::AlarmEvent >::const_iterator iter)
 
std::multimap< float, AlarmableManager::AlarmEvent >::const_iterator GetDeletionIter (int alarmNumber)
 
errcode SetRegistrationState (int alarmNumber, RegistrationState state)
 
- Public Member Functions inherited from Collidable
 Collidable ()
 
virtual ~Collidable ()
 
 Collidable (const Collidable &)=delete
 
const Collidableoperator= (const Collidable &)=delete
 
virtual errcode Collision (Collidable *)
 Collision callback. More...
 
virtual errcode CollisionEnter (Collidable *)
 Collision enter. More...
 
virtual errcode CollisionExit ()
 Collision exit. More...
 
template<typename C >
errcode SubmitCollisionRegistration (C *c)
 Submit collision registration of your type. More...
 
template<typename C >
errcode SubmitCollisionDeregistration (C *c)
 Submit collision deregistration for your type. More...
 
const CollisionVolumeGetCollisionVolume () const
 
errcode SetColliderModel (Model *mod, VolumeType vol)
 Sets collider model. More...
 
errcode UpdateCollisionData (Matrix &mat)
 Updates the collision data described by matrix. More...
 
std::list< Collidable * >::iterator GetDeletionIter ()
 
errcode SetDeletionIter (std::list< Collidable *>::iterator in)
 
bool getColliding () const
 
void setColliding (bool coll)
 
const CollisionVolumeBSpheregetBSphere () const
 

Private Member Functions

void Alarm0 () override
 Alarm 0 callback. More...
 
void Alarm1 () override
 Alarm 1 callback. More...
 
void Alarm2 () override
 Alarm 2 callback. More...
 

Private Attributes

GraphicsObject_TextureLight * pGObj_SpaceBulletLight
 
Vect ShipPos
 
Vect forward
 
Matrix ShipScale
 
const float ShipTransSpeed = 1000
 
Fired fired
 
float TotalTime
 
float FrameTime
 

Additional Inherited Members

- Public Attributes inherited from Updatable
std::list< Updatable * >::iterator deleteIter
 

Constructor & Destructor Documentation

◆ Bullet() [1/2]

Bullet::Bullet ( )

◆ Bullet() [2/2]

Bullet::Bullet ( const Bullet )
default

◆ ~Bullet()

Bullet::~Bullet ( )
virtual

Member Function Documentation

◆ Alarm0()

void Bullet::Alarm0 ( )
overrideprivatevirtual

Alarm 0 callback.

Author
Jack Campbell
Date
3/5/2017
Callback for alarms
{
DebugMsg::out("\n\nFIRST FRIGATE ALARMED\n\n");
}
{
DebugMsg::out("\n\nSECOND FRIGATE ALARMED\n\n");
}
{
DebugMsg::out("\n\nTHIRD FRIGATE ALARMED\n\n\n");
}

Reimplemented from Alarmable.

◆ Alarm1()

void Bullet::Alarm1 ( )
overrideprivatevirtual

Alarm 1 callback.

Author
Jack Campbell
Date
3/5/2017
see alarm0

Reimplemented from Alarmable.

◆ Alarm2()

void Bullet::Alarm2 ( )
overrideprivatevirtual

Alarm 2 callback.

Author
Jack Campbell
Date
3/5/2017
see alarm0

Reimplemented from Alarmable.

◆ Collision() [1/3]

errcode Bullet::Collision ( Enemy other)
virtual

◆ Collision() [2/3]

errcode Bullet::Collision ( Sentry other)
virtual

◆ Collision() [3/3]

errcode Bullet::Collision ( Tank other)
virtual

◆ CollisionTerrain()

errcode Bullet::CollisionTerrain ( const CollisionVolumeAABB )
overridevirtual

Collision terrain.

Author
Jack Campbell
Date
6/1/2017
Parameters
parameter1The first parameter.
Returns
An errcode.

Reimplemented from Collidable.

◆ Draw()

errcode Bullet::Draw ( )
overridevirtual

Draw callback to override.

Author
Jack Campbell
Date
3/5/2017
This will be called once a frame and should only contain code related to rendering.
{
// Place rendering code here.
// Render ship's graphics object to the current main camera via the Scene
pGObj_SpaceFrigateLight->Render(&SceneManager::GetCurrentScene().GetCamera()->MainCamera());
}
Returns
An errcode.

Reimplemented from Drawable.

◆ getFired()

Fired Bullet::getFired ( )
inline

◆ Initialize() [1/2]

void Bullet::Initialize ( int  x,
int  y,
int  z 
)

◆ Initialize() [2/2]

void Bullet::Initialize ( Vect &  pos,
Vect &  fw 
)

◆ operator=()

const Bullet& Bullet::operator= ( const Bullet )
inline

◆ SceneEntry()

errcode Bullet::SceneEntry ( )
overridevirtual

Scene entry callback.

Author
Jack Campbell
Date
3/5/2017
This callback fires when a GameObject becomes active.
{
// Registration
// Setting graphics member variables
Matrix world;
ShipPos.set(0, 20, 0);
world = Matrix(TRANS, ShipPos);
pGObj_SpaceFrigateLight->SetWorld(world);
}
Returns
An errcode.

Reimplemented from GameObject.

◆ SceneExit()

errcode Bullet::SceneExit ( )
overridevirtual

Scene exit callback.

Author
Jack Campbell
Date
3/5/2017
This callback is called when a GameObject is deactivated.
Returns
An errcode.

Reimplemented from GameObject.

◆ setFired()

void Bullet::setFired ( Fired  f)
inline

◆ Update()

errcode Bullet::Update ( )
overridevirtual

Called every frame.

Author
Jack Campbell
Date
3/5/2017
Update is called once a frame on objects that have been registered to update.
{
// Place frame related content here. This code moves the ship's graphics object.
// Ship translation movement (not using time-based values for simplicity)
if (Keyboard::GetKeyState(AZUL_KEY::KEY_W))
{
ShipPos += Vect(0, 0, 1) * ShipRot * ShipTransSpeed;
}
else if (Keyboard::GetKeyState(AZUL_KEY::KEY_S))
{
ShipPos += Vect(0, 0, 1) * ShipRot * -ShipTransSpeed;
}
// Spaceship adjust matrix
Matrix world = ShipScale * ShipRot * Matrix(TRANS, ShipPos);
pGObj_SpaceFrigateLight->SetWorld(world);
}
Returns
An errcode.

Reimplemented from Updatable.

Member Data Documentation

◆ fired

Fired Bullet::fired
private

◆ forward

Vect Bullet::forward
private

◆ FrameTime

float Bullet::FrameTime
private

◆ pGObj_SpaceBulletLight

GraphicsObject_TextureLight* Bullet::pGObj_SpaceBulletLight
private

◆ ShipPos

Vect Bullet::ShipPos
private

◆ ShipScale

Matrix Bullet::ShipScale
private

◆ ShipTransSpeed

const float Bullet::ShipTransSpeed = 1000
private

◆ TotalTime

float Bullet::TotalTime
private

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