Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
Public Member Functions | |
int | GetComponentTypeId () const override |
void | Init (const CParamNode ¶mNode) override |
void | Deinit () override |
template<typename S > | |
void | SerializeCommon (S &serialize) |
void | Serialize (ISerializer &serialize) override |
void | Deserialize (const CParamNode ¶mNode, IDeserializer &deserialize) override |
void | HandleMessage (const CMessage &msg, bool global) override |
CBoundingBoxAligned | GetBounds () const override |
Get the world-space bounding box of the object's visual representation. More... | |
CUnit * | GetUnit () override |
Returns the underlying unit of this visual actor. More... | |
CBoundingBoxOriented | GetSelectionBox () const override |
Get the oriented world-space bounding box of the object's visual representation, clipped at the Y=0 plane in object space to prevent it from extending into the terrain. More... | |
CVector3D | GetPosition () const override |
Get the world-space position of the base point of the object's visual representation. More... | |
std::wstring | GetProjectileActor () const override |
Return the filename of the actor to be used for projectiles from this unit, or the empty string if none. More... | |
CFixedVector3D | GetProjectileLaunchPoint () const override |
Return the exact position where a projectile should be launched from (based on the actor's ammo prop points). More... | |
void | SetVariant (const CStr &key, const CStr &selection) override |
Set the variant selection of the actor for a certain key. More... | |
std::string | GetAnimationName () const override |
Returns the name of the currently played animation. More... | |
void | SelectAnimation (const std::string &name, bool once=false, fixed speed=fixed::FromInt(1)) override |
Start playing the given animation. More... | |
void | SelectMovementAnimation (const std::string &name, fixed speed) override |
Start playing the given movement animation unless we are currently playing a non-movement animation. More... | |
void | SetAnimationSyncRepeat (fixed repeattime) override |
Adjust the speed of the current animation, so it can match simulation events. More... | |
void | SetAnimationSyncOffset (fixed actiontime) override |
Adjust the offset of the current animation, so it can match simulation events. More... | |
void | SetShadingColor (fixed r, fixed g, fixed b, fixed a) override |
Set the shading color that will be modulated with the model's textures. More... | |
void | SetVariable (const std::string &name, float value) override |
Set an arbitrarily-named variable that the model may use to alter its appearance (e.g. More... | |
u32 | GetActorSeed () const override |
Get actor seed used for random variations. More... | |
void | SetActorSeed (u32 seed) override |
Set actor seed for random variations and reload model. More... | |
void | RecomputeActorName () override |
Recalculate the actor name, applying modifiers. More... | |
bool | HasConstructionPreview () const override |
Returns true if this entity should have a construction preview. More... | |
void | Hotload (const VfsPath &name) override |
Called when an actor file has been modified and reloaded dynamically. More... | |
virtual CBoundingBoxAligned | GetBounds () const =0 |
Get the world-space bounding box of the object's visual representation. More... | |
virtual CBoundingBoxOriented | GetSelectionBox () const =0 |
Get the oriented world-space bounding box of the object's visual representation, clipped at the Y=0 plane in object space to prevent it from extending into the terrain. More... | |
virtual CVector3D | GetPosition () const =0 |
Get the world-space position of the base point of the object's visual representation. More... | |
virtual std::wstring | GetProjectileActor () const =0 |
Return the filename of the actor to be used for projectiles from this unit, or the empty string if none. More... | |
virtual CFixedVector3D | GetProjectileLaunchPoint () const =0 |
Return the exact position where a projectile should be launched from (based on the actor's ammo prop points). More... | |
virtual CUnit * | GetUnit ()=0 |
Returns the underlying unit of this visual actor. More... | |
virtual void | SetVariant (const CStr &key, const CStr &selection)=0 |
Set the variant selection of the actor for a certain key. More... | |
virtual std::string | GetAnimationName () const =0 |
Returns the name of the currently played animation. More... | |
virtual void | SelectAnimation (const std::string &name, bool once, fixed speed)=0 |
Start playing the given animation. More... | |
virtual void | SelectMovementAnimation (const std::string &name, fixed speed)=0 |
Start playing the given movement animation unless we are currently playing a non-movement animation. More... | |
virtual void | SetAnimationSyncRepeat (fixed repeattime)=0 |
Adjust the speed of the current animation, so it can match simulation events. More... | |
virtual void | SetAnimationSyncOffset (fixed actiontime)=0 |
Adjust the offset of the current animation, so it can match simulation events. More... | |
virtual void | SetShadingColor (fixed r, fixed g, fixed b, fixed a)=0 |
Set the shading color that will be modulated with the model's textures. More... | |
virtual void | SetVariable (const std::string &name, float value)=0 |
Set an arbitrarily-named variable that the model may use to alter its appearance (e.g. More... | |
virtual u32 | GetActorSeed () const =0 |
Get actor seed used for random variations. More... | |
virtual void | SetActorSeed (u32 seed)=0 |
Set actor seed for random variations and reload model. More... | |
virtual void | RecomputeActorName ()=0 |
Recalculate the actor name, applying modifiers. More... | |
virtual bool | HasConstructionPreview () const =0 |
Returns true if this entity should have a construction preview. More... | |
virtual void | Hotload (const VfsPath &name=L"")=0 |
Called when an actor file has been modified and reloaded dynamically. More... | |
Public Member Functions inherited from IComponent | |
virtual | ~IComponent () |
virtual void | Init (const CParamNode ¶mNode)=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 CSimContext & | GetSimContext () const |
void | SetSimContext (const CSimContext &context) |
virtual void | Serialize (ISerializer &serialize)=0 |
virtual void | Deserialize (const CParamNode ¶mNode, 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 |
Static Public Member Functions | |
static void | ClassInit (CComponentManager &componentManager) |
static IComponent * | Allocate (const ScriptInterface &, JS::HandleValue) |
static void | Deallocate (IComponent *cmp) |
static std::string | GetSchema () |
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 () |
Private Member Functions | |
void | ParseActorName (std::wstring base) |
void | InitModel () |
Helper function shared by component init and actor reloading. More... | |
void | InitSelectionShapeDescriptor (const CParamNode ¶mNode) |
Helper method; initializes the model selection shape descriptor from XML. Factored out for readability of Init. More... | |
void | ReloadActor () |
void | ReloadUnitAnimation () |
Private Attributes | |
std::wstring | m_BaseActorName |
std::wstring | m_ActorName |
bool | m_IsFoundationActor |
CUnit * | m_Unit |
CModelAbstract::CustomSelectionShape * | m_ShapeDescriptor = nullptr |
fixed | m_R |
fixed | m_G |
fixed | m_B |
std::string | m_AnimName |
bool | m_AnimOnce |
fixed | m_AnimSpeed |
std::wstring | m_SoundGroup |
fixed | m_AnimDesync |
fixed | m_AnimSyncRepeatTime |
fixed | m_AnimSyncOffsetTime |
std::map< CStr, CStr > | m_VariantSelections |
u32 | m_Seed |
bool | m_ConstructionPreview |
bool | m_VisibleInAtlasOnly |
bool | m_IsActorOnly |
bool | m_SilhouetteDisplay |
bool | m_SilhouetteOccluder |
bool | m_DisableShadows |
ICmpUnitRenderer::tag_t | m_ModelTag |
Additional Inherited Members | |
Public Types inherited from IComponent | |
using | AllocFunc = IComponent *(*)(const ScriptInterface &scriptInterface, JS::HandleValue ctor) |
using | DeallocFunc = void(*)(IComponent *) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Get actor seed used for random variations.
Implements ICmpVisual.
|
inlineoverridevirtual |
Returns the name of the currently played animation.
Implements ICmpVisual.
|
inlineoverridevirtual |
Get the world-space bounding box of the object's visual representation.
(Not safe for use in simulation code.)
Implements ICmpVisual.
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Get the world-space position of the base point of the object's visual representation.
(Not safe for use in simulation code.)
Implements ICmpVisual.
|
inlineoverridevirtual |
Return the filename of the actor to be used for projectiles from this unit, or the empty string if none.
(Not safe for use in simulation code.)
Implements ICmpVisual.
|
inlineoverridevirtual |
Return the exact position where a projectile should be launched from (based on the actor's ammo prop points).
Return type is CFixedVector3D because it is exposed to the JS interface. Returns (0,0,0) if no point can be found.
Implements ICmpVisual.
|
inlinestatic |
|
inlineoverridevirtual |
Get the oriented world-space bounding box of the object's visual representation, clipped at the Y=0 plane in object space to prevent it from extending into the terrain.
The primary difference with GetBounds is that this bounding box is not aligned to the world axes, but arbitrarily rotated according to the model transform.
Implements ICmpVisual.
|
inlineoverridevirtual |
Returns the underlying unit of this visual actor.
May return NULL to indicate that no unit exists (e.g. may happen if the game is started without graphics rendering). Originally intended for introspection purposes in Atlas; for other purposes, consider using a specialized getter first.
Implements ICmpVisual.
|
inlineoverridevirtual |
Reimplemented from IComponent.
|
inlineoverridevirtual |
Returns true if this entity should have a construction preview.
Implements ICmpVisual.
|
inlineoverridevirtual |
Called when an actor file has been modified and reloaded dynamically.
If this component uses the named actor file, it should regenerate its actor to pick up the new definitions. If name is empty, this reloads all the time. This is used when global quality settings change.
Implements ICmpVisual.
|
inlineoverridevirtual |
Implements IComponent.
|
private |
Helper function shared by component init and actor reloading.
|
private |
Helper method; initializes the model selection shape descriptor from XML. Factored out for readability of Init.
|
private |
|
inlineoverridevirtual |
Recalculate the actor name, applying modifiers.
Implements ICmpVisual.
|
private |
|
private |
|
inlineoverridevirtual |
Start playing the given animation.
If there are multiple possible animations then it will pick one at random (not network-synchronised).
name | animation name (e.g. "idle", "walk", "melee"; the names are determined by actor XML files) |
once | if true then the animation will play once and freeze at the final frame, else it will loop |
speed | animation speed multiplier (typically 1.0 for the default speed) |
Implements ICmpVisual.
|
inlineoverridevirtual |
Start playing the given movement animation unless we are currently playing a non-movement animation.
This is necessary so UnitMotion can set the movement animations without overwriting specific animations that might have been set by other components. TODO: Non-movement animations should probably be made into variants, defining "idle" (really "default"), "walk" and "run" as appropriate, and this would no longer be necessary.
name | animation name (i.e. one of "idle", "walk", "run"). |
speed | animation speed multiplier (typically 1.0 for the default speed) |
Implements ICmpVisual.
|
inlineoverridevirtual |
Implements IComponent.
|
inline |
|
inlineoverridevirtual |
Set actor seed for random variations and reload model.
Implements ICmpVisual.
|
inlineoverridevirtual |
Adjust the offset of the current animation, so it can match simulation events.
actiontime | time between now and when the 'action' event should occur, in msec |
Implements ICmpVisual.
|
inlineoverridevirtual |
Adjust the speed of the current animation, so it can match simulation events.
repeattime | time for complete loop of animation, in msec |
Implements ICmpVisual.
Set the shading color that will be modulated with the model's textures.
Default shading is (1, 1, 1, 1). Alpha should probably be 1 else it's unlikely to work properly.
r | red component, expected range [0, 1] |
g | green component, expected range [0, 1] |
b | blue component, expected range [0, 1] |
a | alpha component, expected range [0, 1] |
Implements ICmpVisual.
|
inlineoverridevirtual |
Set an arbitrarily-named variable that the model may use to alter its appearance (e.g.
in particle emitter parameter computations).
Implements ICmpVisual.
|
inlineoverridevirtual |
Set the variant selection of the actor for a certain key.
This overrides a previous selection on that key, so every component should use unique keys.
Implements ICmpVisual.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |