CORGI
An open source project by FPL.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
corgi Namespace Reference

Namespace for CORGI library. More...

Classes

class  Component
 A Component is an object that encapsulates all data and logic for Entities of a particular type. More...
 
struct  ComponentIdLookup
 A templated struct for holding type-dependent data. More...
 
class  ComponentInterface
 An interface that provides basic Component functionality. All Components will inherit from this class. It provides the minimum set of things that are uniform across all Components (without needing to know the specific type of Component that it is). More...
 
class  Entity
 The basic Entity class for CORGI. It contains an array of index values, which are used by Components for tracking their data associated with an Entity. It also contains a boolean for tracking if this Entity has been marked for deletion. More...
 
class  EntityManager
 The EntityManager is the code that manages all Entities and Components in the game. Normally the game will instantiate EntityManager, and then use it to create and control all of its Entities. More...
 
class  EntityFactoryInterface
 An interface for an Entity factory, which creates Entities for a given EntityManager. More...
 
class  VectorPool
 A pool allocator, implemented as a vector-based pair of linked lists. More...
 
class  CameraInterface
 An interface for 3D cameras, allowing them to have position, facing field of view, etc. Libraries can use this to pass around generic cameras that the game itself can implement the logic for. More...
 

Typedefs

typedef VectorPool
< corgi::Entity >
::VectorPoolReference 
EntityRef
 A typedef that should be used as the primary way to reference an Entity. More...
 
typedef int WorldTime
 A typedef that represents time in the game.
 
typedef uint16_t ComponentIndex
 A ComponentIndex is a value used to represent the location of a piece of ComponentData, normally inside of a VectorPool.
 
typedef uint16_t EntityIdType
 A EntityIdType is a value used to uniquely represent an entity in various internal structures. In general, CORGI users should avoid using this directly, and should instead refer to entities via EntityRefs.
 
typedef uint16_t ComponentId
 This represents the ID of a Component. More...
 

Enumerations

enum  AllocationLocation { kAddToFront, kAddToBack }
 kAddToFront allocates from the front of the pool. kAddToBack allocates from the back of the pool.
 

Variables

const ComponentId kInvalidComponent = static_cast<ComponentId>(-1)
 A sentinel value to represent an invalid Component. More...
 
static const ComponentIndex kInvalidComponentIndex
 
static const EntityIdType kInvalidEntityId = static_cast<EntityIdType>(-1)
 A sentinel value to represent an invalid entity. More...
 

Detailed Description

Namespace for CORGI library.