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

Classes

struct  Projectile
 

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 HandleMessage (const CMessage &msg, bool global)
 
virtual uint32_t LaunchProjectileAtPoint (entity_id_t source, const CFixedVector3D &target, fixed speed, fixed gravity)
 Launch a projectile from entity source to point target. More...
 
virtual void RemoveProjectile (uint32_t)
 Removes a projectile, used when the projectile has hit a target. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
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 ()
 

Private Member Functions

uint32_t LaunchProjectile (entity_id_t source, CFixedVector3D targetPoint, fixed speed, fixed gravity)
 
void AdvanceProjectile (Projectile &projectile, float dt) const
 
void Interpolate (float frameTime)
 
void RenderSubmit (SceneCollector &collector, const CFrustum &frustum, bool culling) const
 

Private Attributes

std::vector< Projectilem_Projectiles
 
uint32_t m_ActorSeed
 
uint32_t m_NextId
 

Member Function Documentation

void CCmpProjectileManager::AdvanceProjectile ( Projectile projectile,
float  dt 
) const
private
static IComponent* CCmpProjectileManager::Allocate ( ScriptInterface ,
JS::HandleValue   
)
inlinestatic
static void CCmpProjectileManager::ClassInit ( CComponentManager componentManager)
inlinestatic
static void CCmpProjectileManager::Deallocate ( IComponent cmp)
inlinestatic
virtual void CCmpProjectileManager::Deinit ( )
inlinevirtual

Implements IComponent.

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

Implements IComponent.

virtual int CCmpProjectileManager::GetComponentTypeId ( ) const
inlinevirtual

Implements IComponent.

static std::string CCmpProjectileManager::GetSchema ( )
inlinestatic
virtual void CCmpProjectileManager::HandleMessage ( const CMessage msg,
bool  global 
)
inlinevirtual

Reimplemented from IComponent.

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

Implements IComponent.

void CCmpProjectileManager::Interpolate ( float  frameTime)
private
uint32_t CCmpProjectileManager::LaunchProjectile ( entity_id_t  source,
CFixedVector3D  targetPoint,
fixed  speed,
fixed  gravity 
)
private
virtual uint32_t CCmpProjectileManager::LaunchProjectileAtPoint ( entity_id_t  source,
const CFixedVector3D target,
fixed  speed,
fixed  gravity 
)
inlinevirtual

Launch a projectile from entity source to point target.

Parameters
sourcesource entity; the projectile will determined from the "projectile" prop in its actor
targettarget point
speedhorizontal speed in m/s
gravitygravitational acceleration in m/s^2 (determines the height of the ballistic curve)
Returns
id of the created projectile

Implements ICmpProjectileManager.

void CCmpProjectileManager::RemoveProjectile ( uint32_t  id)
virtual

Removes a projectile, used when the projectile has hit a target.

Parameters
idof the projectile to remove

Implements ICmpProjectileManager.

void CCmpProjectileManager::RenderSubmit ( SceneCollector collector,
const CFrustum frustum,
bool  culling 
) const
private
virtual void CCmpProjectileManager::Serialize ( ISerializer serialize)
inlinevirtual

Implements IComponent.

Member Data Documentation

uint32_t CCmpProjectileManager::m_ActorSeed
private
uint32_t CCmpProjectileManager::m_NextId
private
std::vector<Projectile> CCmpProjectileManager::m_Projectiles
private

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