Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
ICmpProjectileManager Class Referenceabstract

Projectile manager. More...

#include <ICmpProjectileManager.h>

Inheritance diagram for ICmpProjectileManager:
Collaboration diagram for ICmpProjectileManager:

Public Member Functions

virtual uint32_t LaunchProjectileAtPoint (const CFixedVector3D &launchPoint, const CFixedVector3D &target, fixed speed, fixed gravity, const std::wstring &actorName, const std::wstring &impactActorName, fixed impactAnimationLifetime)=0
 Launch a projectile from entity source to point target. More...
 
virtual void RemoveProjectile (uint32_t id)=0
 Removes a projectile, used when the projectile has hit a target. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void Init (const CParamNode &paramNode)=0
 
virtual void Deinit ()=0
 
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 void Serialize (ISerializer &serialize)=0
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)=0
 
virtual bool NewJSObject (const 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
 
virtual int GetComponentTypeId () const =0
 

Additional Inherited Members

- Public Types inherited from IComponent
using AllocFunc = IComponent *(*)(const ScriptInterface &scriptInterface, JS::HandleValue ctor)
 
using DeallocFunc = void(*)(IComponent *)
 
- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static void RegisterComponentType (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema)
 
static void RegisterComponentTypeScriptWrapper (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema)
 
static u8 GetSerializationVersion ()
 

Detailed Description

Projectile manager.

This deals with the rendering and the graphical motion of projectiles. (The gameplay effects of projectiles are not handled here - the simulation code does that with timers, this just does the visual aspects, because it's simpler to keep the parts separated.)

Member Function Documentation

◆ LaunchProjectileAtPoint()

virtual uint32_t ICmpProjectileManager::LaunchProjectileAtPoint ( const CFixedVector3D launchPoint,
const CFixedVector3D target,
fixed  speed,
fixed  gravity,
const std::wstring &  actorName,
const std::wstring &  impactActorName,
fixed  impactAnimationLifetime 
)
pure virtual

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)
actorNamename of the flying projectile actor
impactActorNamename of the animation actor played when the projectile hits the target or the ground
impactAnimationLifetimeanimation lenth
Returns
id of the created projectile

Implemented in CCmpProjectileManager.

◆ RemoveProjectile()

virtual void ICmpProjectileManager::RemoveProjectile ( uint32_t  id)
pure virtual

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

Parameters
idof the projectile to remove

Implemented in CCmpProjectileManager.


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