IAnimSequence

C++
struct IAnimSequence : public _i_reference_target_t {
  const int kSequenceVersion = 3;
  enum EAnimSequenceFlags {
    eSeqFlags_PlayOnReset = BIT(0),
    eSeqFlags_OutOfRangeConstant = BIT(1),
    eSeqFlags_OutOfRangeLoop = BIT(2),
    eSeqFlags_CutScene = BIT(3),
    eSeqFlags_NoHUD = BIT(4),
    eSeqFlags_NoPlayer = BIT(5),
    eSeqFlags_16To9 = BIT(8),
    eSeqFlags_NoGameSounds = BIT(9),
    eSeqFlags_NoSeek = BIT(10),
    eSeqFlags_NoAbort = BIT(11),
    eSeqFlags_NoSpeed = BIT(13),
    eSeqFlags_CanWarpInFixedTime = BIT(14),
    eSeqFlags_EarlyMovieUpdate = BIT(15),
    eSeqFlags_LightAnimationSet = BIT(16),
    eSeqFlags_NoMPSyncingNeeded = BIT(17)
  };
};
File

IMovieSystem.h

Description

Animation sequence, operates on animation nodes contained in it.

IAnimSequence::EAnimSequenceFlags Enumeration
C++
enum EAnimSequenceFlags {
  eSeqFlags_PlayOnReset = BIT(0),
  eSeqFlags_OutOfRangeConstant = BIT(1),
  eSeqFlags_OutOfRangeLoop = BIT(2),
  eSeqFlags_CutScene = BIT(3),
  eSeqFlags_NoHUD = BIT(4),
  eSeqFlags_NoPlayer = BIT(5),
  eSeqFlags_16To9 = BIT(8),
  eSeqFlags_NoGameSounds = BIT(9),
  eSeqFlags_NoSeek = BIT(10),
  eSeqFlags_NoAbort = BIT(11),
  eSeqFlags_NoSpeed = BIT(13),
  eSeqFlags_CanWarpInFixedTime = BIT(14),
  eSeqFlags_EarlyMovieUpdate = BIT(15),
  eSeqFlags_LightAnimationSet = BIT(16),
  eSeqFlags_NoMPSyncingNeeded = BIT(17)
};
File

IMovieSystem.h

Members
Members
Description
eSeqFlags_PlayOnReset = BIT(0)
!< Start playing this sequence immediately after reset of movie system(Level load).
eSeqFlags_OutOfRangeConstant = BIT(1)
!< Constant Out-Of-Range,time continues normally past sequence time range.
eSeqFlags_OutOfRangeLoop = BIT(2)
!< Loop Out-Of-Range,time wraps back to the start of range when reaching end of range.
eSeqFlags_CutScene = BIT(3)
!< Cut scene sequence.
eSeqFlags_NoHUD = BIT(4)
!< Don`t display HUD
eSeqFlags_NoPlayer = BIT(5)
!< Disable input and drawing of player
eSeqFlags_16To9 = BIT(8)
!< 16:9 bars in sequence
eSeqFlags_NoGameSounds = BIT(9)
!< Suppress all game sounds.
eSeqFlags_NoSeek = BIT(10)
!< Cannot seek in sequence.
eSeqFlags_NoAbort = BIT(11)
!< Cutscene can not be aborted
eSeqFlags_NoSpeed = BIT(13)
!< Cannot modify sequence speed - TODO: add interface control if required
eSeqFlags_CanWarpInFixedTime = BIT(14)
!< Timewarping will work with a fixed time step.
eSeqFlags_EarlyMovieUpdate = BIT(15)
!< Turn the 'sys_earlyMovieUpdate' on during the sequence.
eSeqFlags_LightAnimationSet = BIT(16)
!< A special unique sequence for light animations
eSeqFlags_NoMPSyncingNeeded = BIT(17)
!< this sequence doesn't require MP net syncing
Description

! Flags used for SetFlags(),GetFlags(),SetParentFlags(),GetParentFlags() methods.

IAnimSequence::kSequenceVersion Data Member
C++
const int kSequenceVersion = 3;
IAnimSequence::Activate Method
C++
virtual void Activate() = 0;
Description

Activate sequence by binding sequence animations to nodes. must be called prior animating sequence.

IAnimSequence::AddNode Method
C++
virtual bool AddNode(IAnimNode * node) = 0;
Description

! Add animation node to sequence. ! @return True if node added, same node will not be added 2 times.

IAnimSequence::AddTrackEvent Method

Adds/removes track events in sequence.

C++
virtual bool AddTrackEvent(const char* szEvent) = 0;
IAnimSequence::AddTrackEventListener Method
C++
virtual void AddTrackEventListener(ITrackEventListener * pListener) = 0;
Description

! Track event listener

IAnimSequence::AdjustKeysToTimeRange Method
C++
virtual void AdjustKeysToTimeRange(const Range & timeRange) = 0;
Description

Move/Scale all keys in tracks from previous time range to new time range.

IAnimSequence::Animate Method
C++
virtual void Animate(const SAnimContext & ec) = 0;
Description

Evaluate animations of all nodes in sequence. Sequence must be activated before animating.

IAnimSequence::ClearTrackEvents Method
C++
virtual void ClearTrackEvents() = 0;
IAnimSequence::CopyNodes Method
C++
virtual void CopyNodes(XmlNodeRef& xmlNode, IAnimNode** pSelectedNodes, uint32 count) = 0;
Description

Copy some nodes of this sequence to XML.

IAnimSequence::CreateNode Method (EAnimNodeType)
C++
virtual IAnimNode* CreateNode(EAnimNodeType nodeType) = 0;
Parameters
Parameters
Description
EAnimNodeType nodeType
Type of node, one of EAnimNodeType enums.
Description

Creates a new animation node with specified type.

IAnimSequence::CreateNode Method (XmlNodeRef)
C++
virtual IAnimNode* CreateNode(XmlNodeRef node) = 0;
Parameters
Parameters
Description
XmlNodeRef node
Serialized form of node
Description

Creates a new animation node from serialized node XML.

IAnimSequence::Deactivate Method
C++
virtual void Deactivate() = 0;
Description

Deactivates sequence by unbinding sequence animations from nodes.

IAnimSequence::FindNodeByName Method
C++
virtual IAnimNode* FindNodeByName(const char * sNodeName, const IAnimNode * pParentDirector) = 0;
Description

Finds node by name, can be slow. If the node belongs to a director, the director node also should be given since there can be multiple instances of the same node(i.e. the same name) across multiple director nodes.

IAnimSequence::GetActiveDirector Method
C++
virtual IAnimNode * GetActiveDirector() const = 0;
Description

! Get the currently active director node, if any.

IAnimSequence::GetCutSceneFlags Method
C++
virtual int GetCutSceneFlags(const bool localFlags = false) const = 0;
Description

! Get cutscene related animation sequence flags

IAnimSequence::GetFixedTimeStep Method
C++
virtual float GetFixedTimeStep() const = 0;
Description

! Get the fixed time step for timewarping.

IAnimSequence::GetFlags Method
C++
virtual int GetFlags() const = 0;
Description

! Get animation sequence flags

IAnimSequence::GetId Method
C++
virtual uint32 GetId() const = 0;
Description

! Get the ID (unique in a level and consistent across renaming) of this sequence.

IAnimSequence::GetMemoryUsage Method
C++
virtual void GetMemoryUsage(ICrySizer * pSizer) const = 0;
Description

collect memory informations

IAnimSequence::GetName Method
C++
virtual const char* GetName() const = 0;
Description

! Get the name of this sequence. (ex. "Intro" in the same case as above)

IAnimSequence::GetNode Method
C++
virtual IAnimNode* GetNode(int index) const = 0;
Description

! Get animation node at specified index.

IAnimSequence::GetNodeCount Method
C++
virtual int GetNodeCount() const = 0;
Description

! Return number of animation nodes in sequence.

IAnimSequence::GetOwner Method
C++
virtual IAnimSequenceOwner* GetOwner() const = 0;
IAnimSequence::GetParentSequence Method
C++
virtual const IAnimSequence* GetParentSequence() const = 0;
Description

! Get parent animation sequence

IAnimSequence::GetTimeRange Method
C++
virtual Range GetTimeRange() = 0;
Description

! Get time range of this sequence.

IAnimSequence::GetTrackEvent Method

Gets the specified track event in the sequence.

C++
virtual char const* GetTrackEvent(int iIndex) const = 0;
IAnimSequence::GetTrackEventsCount Method

Gets the track events in the sequence.

C++
virtual int GetTrackEventsCount() const = 0;
IAnimSequence::GetTrackEventStringTable Method
C++
virtual IAnimStringTable* GetTrackEventStringTable() = 0;
IAnimSequence::IsActivated Method
C++
virtual bool IsActivated() const = 0;
Description

Check if sequence is activated

IAnimSequence::IsAncestorOf Method
C++
virtual bool IsAncestorOf(const IAnimSequence * pSequence) const = 0;
Description

! Check whether this sequence has the given sequence as a descendant through one of its sequence tracks.

IAnimSequence::IsPaused Method
C++
virtual bool IsPaused() const = 0;
Description

Called to check if sequence is paused.

IAnimSequence::MoveDownTrackEvent Method
C++
virtual bool MoveDownTrackEvent(const char* szEvent) = 0;
IAnimSequence::MoveUpTrackEvent Method
C++
virtual bool MoveUpTrackEvent(const char* szEvent) = 0;
IAnimSequence::PasteNodes Method
C++
virtual void PasteNodes(const XmlNodeRef& xmlNode, IAnimNode * pParent) = 0;
Description

Paste nodes given by the XML to this sequence.

IAnimSequence::Pause Method
C++
virtual void Pause() = 0;
Description

Called to pause sequence.

IAnimSequence::PrecacheData Method
C++
virtual void PrecacheData(float startTime = 0.0f) = 0;
Description

Pre-caches data associated with this anim sequence.

IAnimSequence::RemoveAll Method
C++
virtual void RemoveAll() = 0;
Description

! Remove all nodes from sequence.

IAnimSequence::RemoveNode Method
C++
virtual void RemoveNode(IAnimNode * node) = 0;
Description

! Remove animation node from sequence.

IAnimSequence::RemoveTrackEvent Method
C++
virtual bool RemoveTrackEvent(const char* szEvent) = 0;
IAnimSequence::RemoveTrackEventListener Method
C++
virtual void RemoveTrackEventListener(ITrackEventListener * pListener) = 0;
IAnimSequence::RenameTrackEvent Method
C++
virtual bool RenameTrackEvent(const char* szEvent, const char* szNewEvent) = 0;
IAnimSequence::Render Method
C++
virtual void Render() = 0;
Description

Render function call for some special node.

IAnimSequence::ReorderNode Method
C++
virtual void ReorderNode(IAnimNode * node, IAnimNode * pPivotNode, bool next) = 0;
Description

Reorders the array of nodes, so the specified node is placed after or before the given pivot node depending on the parameter 'next'.

IAnimSequence::Reset Method
C++
virtual void Reset(bool bSeekToStart) = 0;
Description

! Resets the sequence

IAnimSequence::ResetHard Method
C++
virtual void ResetHard() = 0;
Description

! This can have more time-consuming tasks performed additional to tasks of the usual 'Reset()' method.

IAnimSequence::Resume Method
C++
virtual void Resume() = 0;
Description

Called to resume sequence.

IAnimSequence::Serialize Method
C++
virtual void Serialize(XmlNodeRef & xmlNode, bool bLoading, bool bLoadEmptyTracks = true, uint32 overrideId = 0, bool bUndo = false) = 0;
Description

Serialize this sequence to XML.

IAnimSequence::SetActiveDirector Method
C++
virtual void SetActiveDirector(IAnimNode * pDirectorNode) = 0;
Description

! Set the currently active director node.

IAnimSequence::SetFixedTimeStep Method
C++
virtual void SetFixedTimeStep(float dt) = 0;
Description

! Set the fixed time step for timewarping.

IAnimSequence::SetFlags Method
C++
virtual void SetFlags(int flags) = 0;
Description

! Set animation sequence flags

IAnimSequence::SetName Method
C++
virtual void SetName(const char * name) = 0;
Description

! Set the name of this sequence. (ex. "Intro" in the same case as above)

IAnimSequence::SetOwner Method
C++
virtual void SetOwner(IAnimSequenceOwner * pOwner) = 0;
IAnimSequence::SetParentSequence Method
C++
virtual void SetParentSequence(IAnimSequence * pParentSequence) = 0;
Description

! Set parent animation sequence

IAnimSequence::SetTimeRange Method
C++
virtual void SetTimeRange(Range timeRange) = 0;
Description

! Set time range of this sequence.

IAnimSequence::StillUpdate Method
C++
virtual void StillUpdate() = 0;
Description

Update sequence while not playing animation.

IAnimSequence::TriggerTrackEvent Method

Called to trigger a track event.

C++
virtual void TriggerTrackEvent(const char* event, const char* param = NULL) = 0;