20 #ifndef PS_EFFECT_ANCHOR_SOCKET_HEADER 21 #define PS_EFFECT_ANCHOR_SOCKET_HEADER 25 struct iSpriteCal3DState;
26 struct iSpriteCal3DSocket;
40 bool Load(iDocumentNode* node);
42 bool Update(csTicks elapsed);
48 void SetPosition(
const csVector3 & , iSector* ,
const csMatrix3 & ) {}
49 void SetPosition(
const csVector3 & , iSectorList* ,
const csMatrix3 & ) {}
67 iSpriteCal3DSocket* socket;
70 csRef<iSpriteCal3DState> cal3d;
bool Create(const csVector3 &offset, iMeshWrapper *posAttach, bool rotateWithMesh=false)
Creates the effect anchor.
bool rotateWithMesh
Whether the anchor should rotate with the mesh. This is so effects can stay aligned, e.g. flame sword.
bool Load(iDocumentNode *node)
Loads the effect anchors from an xml node.
psEffectAnchor * Clone() const
Clones the effect anchor.
void SetSocket(const char *name)
Sets the socket where this anchor is attached.
const csString & GetSocketName() const
Gets the name of the socket where this anchor is attached.
bool Update(csTicks elapsed)
Updates the effect anchor – called every frame.
void SetRotBase(const csMatrix3 &)
Sets the base rotation matrix of the effect anchor.
void SetPosition(const csVector3 &, iSectorList *, const csMatrix3 &)
Sets a new position for the effect anchor.
void SetPosition(const csVector3 &, iSector *, const csMatrix3 &)
Sets a new position for the effect anchor.
Effect anchors provide a base location / anchor point for all effect objs.