Tiled Top-down Shooter Prototype
Tiled Top-Down Shooter
Public Member Functions | Private Member Functions | List of all members
CObjectManager Class Reference

The object manager. More...

#include <ObjectManager.h>

Inheritance diagram for CObjectManager:
CCommon

Public Member Functions

CObjectcreate (eSprite, const Vector2 &)
 Create new object. More...
 
virtual void draw ()
 Draw all objects. More...
 
void FireGun (CObject *, eSprite)
 Fire object's gun. More...
 
const size_t GetNumTurrets () const
 Get number of turrets in object list. More...
 

Private Member Functions

void BroadPhase ()
 Broad phase collision detection and response. More...
 
void NarrowPhase (CObject *, CObject *)
 Narrow phase collision detection and response. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from CCommon
static LSpriteRenderer * m_pRenderer = nullptr
 Pointer to renderer.
 
static CObjectManagerm_pObjectManager = nullptr
 Pointer to object manager.
 
static LParticleEngine2D * m_pParticleEngine = nullptr
 Pointer to particle engine.
 
static CTileManagerm_pTileManager = nullptr
 Pointer to tile manager.
 
static bool m_bDrawAABBs = false
 Draw AABB flag.
 
static bool m_bGodMode = false
 God mode flag.
 
static Vector2 m_vWorldSize = Vector2::Zero
 World height and width.
 
static CPlayerm_pPlayer = nullptr
 Pointer to player character.
 

Detailed Description

A collection of all of the game objects.

Member Function Documentation

◆ BroadPhase()

void CObjectManager::BroadPhase ( )
private

Perform collision detection and response for each object with the world edges and for all objects with another object, making sure that each pair of objects is processed only once.

◆ create()

CObject * CObjectManager::create ( eSprite  t,
const Vector2 &  pos 
)

Create an object and put a pointer to it at the back of the object list m_stdObjectList, which it inherits from LBaseObjectManager.

Parameters
tSprite type.
posInitial position.
Returns
Pointer to the object created.

◆ draw()

void CObjectManager::draw ( )
virtual

Draw the tiled background and the objects in the object list.

◆ FireGun()

void CObjectManager::FireGun ( CObject pObj,
eSprite  bullet 
)

Create a bullet object and a flash particle effect. It is assumed that the object is round and that the bullet appears at the edge of the object in the direction that it is facing and continues moving in that direction.

Parameters
pObjPointer to an object.
bulletSprite type of bullet.

◆ GetNumTurrets()

const size_t CObjectManager::GetNumTurrets ( ) const

Reader function for the number of turrets.

Returns
Number of turrets in the object list.

◆ NarrowPhase()

void CObjectManager::NarrowPhase ( CObject p0,
CObject p1 
)
private

Perform collision detection and response for a pair of objects. Makes use of the helper function Identify() because this function may be called with the objects in an arbitrary order.

Parameters
p0Pointer to the first object.
p1Pointer to the second object.