Pyrogenesis  trunk
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CCmpFootprint Class Reference
Inheritance diagram for CCmpFootprint:
Inheritance graph
[legend]
Collaboration diagram for CCmpFootprint:
Collaboration graph
[legend]

Public Member Functions

virtual int GetComponentTypeId () const
 
virtual void Init (const CParamNode &paramNode)
 
virtual void Deinit ()
 
virtual void Serialize (ISerializer &serialize)
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)
 
virtual void GetShape (EShape &shape, entity_pos_t &size0, entity_pos_t &size1, entity_pos_t &height) const
 Return the shape of this footprint. More...
 
virtual CFixedVector3D PickSpawnPoint (entity_id_t spawned) const
 Pick a sensible position to place a newly-spawned entity near this footprint, such that it won't be in an invalid (obstructed) location regardless of the spawned unit's orientation. More...
 
virtual CFixedVector3D PickSpawnPointBothPass (entity_id_t spawned) const
 Pick a sensible position to place a newly-spawned entity near this footprint, at the intersection between the footprint passability and the entity one. More...
 
- Public Member Functions inherited from ICmpFootprint
JS::Value GetShape_wrapper () const
 GetShape wrapper for script calls. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void HandleMessage (const CMessage &msg, bool global)
 
CEntityHandle GetEntityHandle () const
 
void SetEntityHandle (CEntityHandle ent)
 
entity_id_t GetEntityId () const
 
CEntityHandle GetSystemEntity () const
 
const CSimContextGetSimContext () const
 
void SetSimContext (const CSimContext &context)
 
virtual bool NewJSObject (ScriptInterface &scriptInterface, JS::MutableHandleObject out) const
 Returns false by default, indicating that a scripted wrapper of this IComponent is not supported. More...
 
virtual JS::Value GetJSInstance () const
 

Static Public Member Functions

static void ClassInit (CComponentManager &componentManager)
 
static IComponentAllocate (ScriptInterface &, JS::HandleValue)
 
static void Deallocate (IComponent *cmp)
 
static std::string GetSchema ()
 
- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static u8 GetSerializationVersion ()
 

Public Attributes

EShape m_Shape
 
entity_pos_t m_Size0
 
entity_pos_t m_Size1
 
entity_pos_t m_Height
 

Additional Inherited Members

- Public Types inherited from ICmpFootprint
enum  EShape { CIRCLE, SQUARE }
 

Member Function Documentation

static IComponent* CCmpFootprint::Allocate ( ScriptInterface ,
JS::HandleValue   
)
inlinestatic
static void CCmpFootprint::ClassInit ( CComponentManager componentManager)
inlinestatic
static void CCmpFootprint::Deallocate ( IComponent cmp)
inlinestatic
virtual void CCmpFootprint::Deinit ( )
inlinevirtual

Implements IComponent.

virtual void CCmpFootprint::Deserialize ( const CParamNode paramNode,
IDeserializer deserialize 
)
inlinevirtual

Implements IComponent.

virtual int CCmpFootprint::GetComponentTypeId ( ) const
inlinevirtual

Implements IComponent.

static std::string CCmpFootprint::GetSchema ( )
inlinestatic
virtual void CCmpFootprint::GetShape ( EShape shape,
entity_pos_t size0,
entity_pos_t size1,
entity_pos_t height 
) const
inlinevirtual

Return the shape of this footprint.

Shapes are horizontal circles or squares, extended vertically upwards to make cylinders or boxes.

Parameters
[out]shapeeither CIRCLE or SQUARE
[out]size0if CIRCLE then radius, else width (size in X axis)
[out]size1if CIRCLE then radius, else depth (size in Z axis)
[out]heightsize in Y axis

Implements ICmpFootprint.

virtual void CCmpFootprint::Init ( const CParamNode paramNode)
inlinevirtual

Implements IComponent.

virtual CFixedVector3D CCmpFootprint::PickSpawnPoint ( entity_id_t  spawned) const
inlinevirtual

Pick a sensible position to place a newly-spawned entity near this footprint, such that it won't be in an invalid (obstructed) location regardless of the spawned unit's orientation.

Returns
the X and Z coordinates of the spawn point, with Y = 0; or the special value (-1, -1, -1) if there's no space

Implements ICmpFootprint.

virtual CFixedVector3D CCmpFootprint::PickSpawnPointBothPass ( entity_id_t  spawned) const
inlinevirtual

Pick a sensible position to place a newly-spawned entity near this footprint, at the intersection between the footprint passability and the entity one.

Returns
the X and Z coordinates of the spawn point, with Y = 0; or the special value (-1, -1, -1) if there's no space

Implements ICmpFootprint.

virtual void CCmpFootprint::Serialize ( ISerializer serialize)
inlinevirtual

Implements IComponent.

Member Data Documentation

entity_pos_t CCmpFootprint::m_Height
EShape CCmpFootprint::m_Shape
entity_pos_t CCmpFootprint::m_Size0
entity_pos_t CCmpFootprint::m_Size1

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