Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
The visual representation of an entity (typically an actor). More...
#include <ICmpVisual.h>
Public Member Functions | |
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 |
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 () |
The visual representation of an entity (typically an actor).
|
pure virtual |
Get actor seed used for random variations.
Implemented in CCmpVisualActor.
|
pure virtual |
Returns the name of the currently played animation.
Implemented in CCmpVisualActor.
|
pure virtual |
Get the world-space bounding box of the object's visual representation.
(Not safe for use in simulation code.)
Implemented in CCmpVisualActor.
|
pure virtual |
Get the world-space position of the base point of the object's visual representation.
(Not safe for use in simulation code.)
Implemented in CCmpVisualActor.
|
pure virtual |
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.)
Implemented in CCmpVisualActor.
|
pure virtual |
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.
Implemented in CCmpVisualActor.
|
pure virtual |
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.
Implemented in CCmpVisualActor.
|
pure virtual |
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.
Implemented in CCmpVisualActor.
|
pure virtual |
Returns true if this entity should have a construction preview.
Implemented in CCmpVisualActor.
|
pure virtual |
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.
Implemented in CCmpVisualActor.
|
pure virtual |
Recalculate the actor name, applying modifiers.
Implemented in CCmpVisualActor.
|
pure virtual |
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) |
Implemented in CCmpVisualActor.
|
pure virtual |
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) |
Implemented in CCmpVisualActor.
|
pure virtual |
Set actor seed for random variations and reload model.
Implemented in CCmpVisualActor.
|
pure virtual |
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 |
Implemented in CCmpVisualActor.
|
pure virtual |
Adjust the speed of the current animation, so it can match simulation events.
repeattime | time for complete loop of animation, in msec |
Implemented in CCmpVisualActor.
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] |
Implemented in CCmpVisualActor.
|
pure virtual |
Set an arbitrarily-named variable that the model may use to alter its appearance (e.g.
in particle emitter parameter computations).
Implemented in CCmpVisualActor.
|
pure virtual |
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.
Implemented in CCmpVisualActor.