Box2D Cannon Game With Stars
Game Physics with a 2D Physics Engine
Loading...
Searching...
No Matches
CObject Class Reference

The game object. More...

#include <Object.h>

Inheritance diagram for CObject:
Collaboration diagram for CObject:

Public Member Functions

 CObject (eSprite t, b2Body *b)
 Constructor.
 
 ~CObject ()
 Destructor.
 
void draw ()
 Draw object in Render World.
 
void Update ()
 Update from Physics Engine.
 
const bool CrateBelow (float) const
 Crate is below a given height.
 
const eSprite GetSpriteType () const
 Get sprite type.
 

Private Attributes

b2Body * m_pBody = nullptr
 Physics World body.
 

Additional Inherited Members

- Static Protected Attributes inherited from CCommon
static b2World * m_pPhysicsWorld = nullptr
 Pointer to Box2D Physics World.
 
static CBox2DRenderer * m_pRenderer = nullptr
 Pointer to Render World.
 
static CObjectManagerm_pObjectManager = nullptr
 Pointer to object manager.

 
static Sage::CParticleEngine2D * m_pParticleEngine = nullptr
 Pointer to particle engine.
 
static eDrawMode m_eDrawMode = eDrawMode::Sprites
 Draw mode.
 
static bool m_bEasterEgg = false
 Easter egg!
 

Detailed Description

Game objects are responsible for remembering information about themselves, in particular, their representations in Render World and Physics World.

Constructor & Destructor Documentation

◆ CObject()

CObject::CObject ( eSprite t,
b2Body * b )

This constructor assumes that a Physics World body has already been created for this object. It then has responsibility for deleting it in its destructor.

Parameters
tSprite type.
bPointer to Physics World body.

◆ ~CObject()

CObject::~CObject ( )

This destructor assumes that Box2D hasn't been shut down yet.

Member Function Documentation

◆ CrateBelow()

const bool CObject::CrateBelow ( float h) const

If this is a crate, is it below a given height? We only care about crates, so we return true for everything else.

Parameters
hHeight in Render World units.
Returns
true if this is not a crate, or has no body, or is below height h.
Here is the call graph for this function:

◆ draw()

void CObject::draw ( )

Draw in Render World. Position and orientation must be gotten from Physics World.

Here is the call graph for this function:

◆ GetSpriteType()

const eSprite CObject::GetSpriteType ( ) const

Reader function for sprite type.

Returns
Sprite type.
Here is the caller graph for this function:

◆ Update()

void CObject::Update ( )

Update roll and position member variables from Physics World.

Here is the call graph for this function: