Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
CCmpProjectileManager Class Reference
Inheritance diagram for CCmpProjectileManager:
ICmpProjectileManager IComponent

Classes

struct  Projectile
 

Public Member Functions

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, 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 JSClass * GetJSClass () const
 
virtual jsval GetJSInstance () const
 

Static Public Member Functions

static void ClassInit (CComponentManager &componentManager)
 
static IComponentAllocate (ScriptInterface &, jsval)
 
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)
 
void Interpolate (float frameTime)
 
void RenderSubmit (SceneCollector &collector, const CFrustum &frustum, bool culling)
 

Private Attributes

std::vector< Projectilem_Projectiles
 
uint32_t m_ActorSeed
 
uint32_t m_NextId
 

Detailed Description

Definition at line 44 of file CCmpProjectileManager.cpp.

Member Function Documentation

void CCmpProjectileManager::AdvanceProjectile ( Projectile projectile,
float  dt 
)
private

Definition at line 218 of file CCmpProjectileManager.cpp.

static IComponent* CCmpProjectileManager::Allocate ( ScriptInterface ,
jsval   
)
inlinestatic

Definition at line 53 of file CCmpProjectileManager.cpp.

static void CCmpProjectileManager::ClassInit ( CComponentManager componentManager)
inlinestatic

Definition at line 47 of file CCmpProjectileManager.cpp.

static void CCmpProjectileManager::Deallocate ( IComponent cmp)
inlinestatic

Definition at line 53 of file CCmpProjectileManager.cpp.

virtual void CCmpProjectileManager::Deinit ( )
inlinevirtual

Implements IComponent.

Definition at line 66 of file CCmpProjectileManager.cpp.

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

Implements IComponent.

Definition at line 83 of file CCmpProjectileManager.cpp.

static std::string CCmpProjectileManager::GetSchema ( )
inlinestatic

Definition at line 55 of file CCmpProjectileManager.cpp.

virtual void CCmpProjectileManager::HandleMessage ( const CMessage msg,
bool  global 
)
inlinevirtual

Reimplemented from IComponent.

Definition at line 91 of file CCmpProjectileManager.cpp.

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

Implements IComponent.

Definition at line 60 of file CCmpProjectileManager.cpp.

void CCmpProjectileManager::Interpolate ( float  frameTime)
private

Definition at line 275 of file CCmpProjectileManager.cpp.

uint32_t CCmpProjectileManager::LaunchProjectile ( entity_id_t  source,
CFixedVector3D  targetPoint,
fixed  speed,
fixed  gravity 
)
private

Definition at line 161 of file CCmpProjectileManager.cpp.

virtual uint32_t CCmpProjectileManager::LaunchProjectileAtPoint ( entity_id_t  source,
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.

Definition at line 110 of file CCmpProjectileManager.cpp.

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.

Definition at line 303 of file CCmpProjectileManager.cpp.

void CCmpProjectileManager::RenderSubmit ( SceneCollector collector,
const CFrustum frustum,
bool  culling 
)
private

Definition at line 319 of file CCmpProjectileManager.cpp.

virtual void CCmpProjectileManager::Serialize ( ISerializer serialize)
inlinevirtual

Implements IComponent.

Definition at line 73 of file CCmpProjectileManager.cpp.

Member Data Documentation

uint32_t CCmpProjectileManager::m_ActorSeed
private

Definition at line 146 of file CCmpProjectileManager.cpp.

uint32_t CCmpProjectileManager::m_NextId
private

Definition at line 148 of file CCmpProjectileManager.cpp.

std::vector<Projectile> CCmpProjectileManager::m_Projectiles
private

Definition at line 144 of file CCmpProjectileManager.cpp.


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