IAction

Main interface for a Mannequin fragment. More...

#include

Inherited by TAction< CONTEXT >.

Public Types

enum EStatus {
None, Pending, Installed, Exiting,
Finished
}
enum EFlags {
BlendOut = BIT(0), NoAutoBlendOut = BIT(1), Interruptable = BIT(2), Installing = BIT(4),
Started = BIT(5), Requeued = BIT(6), TrumpSelf = BIT(7), Transitioning = BIT(8),
PlayingFragment = BIT(9), TransitioningOut = BIT(10), TransitionPending = BIT(11), FragmentIsOneShot = BIT(12),
Stopping = BIT(13), PlaybackStateMask = (Transitioning | PlayingFragment | TransitioningOut)
}

Public Member Functions

IAction (int priority, FragmentID fragmentID=FRAGMENT_ID_INVALID, const TagState &fragTags=TAG_STATE_EMPTY, uint32 flags=0, ActionScopes scopeMask=0, uint32 userToken=0)
void AddRef ()
void Release ()
FragmentID GetFragmentID () const
TagState GetFragTagState () const
uint32 GetOptionIdx () const
uint32 GetUserToken () const
int GetPriority () const
void SetOptionIdx (uint32 optionIdx)
bool CanBlendOut (EPriorityComparison priorityComparison) const
ActionScopes GetInstalledScopeMask () const
ActionScopes GetForcedScopeMask () const
EStatus GetStatus () const
const IScope & GetRootScope () const
IScope & GetRootScope ()
uint32 GetFlags () const
bool IsOneShot () const
float GetActiveTime () const
virtual void Install ()
virtual void Enter ()
virtual void Fail (EActionFailure actionFailure)
virtual void Exit ()
virtual EStatus UpdatePending (float timePassed)
virtual EStatus Update (float timePassed)
virtual void OnResolveActionInstallations ()
bool Interrupt ()
virtual EPriorityComparison ComparePriority (const IAction &actionCurrent) const
virtual void OnRequestBlendOut (EPriorityComparison priorityComp)
bool IsDifferent (const FragmentID fragID, const TagState &fragmentTags) const
void SetSpeedBias (float speedBias)
float GetSpeedBias () const
TagID GetSubContext () const
void SetSubContext (const TagID subContext)
void SetAnimWeight (float animWeight)
float GetAnimWeight () const
virtual void OnSequenceFinished (int layer, uint32 scopeId)
void Stop ()
void ForceFinish ()
void ForceFinishSlaveActions ()
void BeginInstalling ()
void EndInstalling ()
bool IsInstalling () const
template
bool GetParam (const char *paramName, PODTYPE &value) const
template
bool GetParam (uint32 paramNameCRC, PODTYPE &value) const
template
void SetParam (const char *paramName, const PODTYPE &value)
template
void SetParam (uint32 paramNameCRC, const PODTYPE &value)
void ResetParams ()
bool IsTransitioning () const
bool IsPlayingFragment () const
bool IsTransitioningOut () const
bool IsStarted () const
virtual IAction * CreateSlaveAction (FragmentID slaveFragID, const TagState &fragTags, SAnimationContext &context)=0
virtual void OnTransitionStarted ()
virtual void OnFragmentStarted ()
virtual void OnTransitionOutStarted ()
virtual void OnInitialise ()
virtual void OnActionFinished ()
virtual void OnEvent (const SGameObjectEvent &event)
virtual void OnAnimationEvent (ICharacterInstance *pCharacter, const AnimEventInstance &event)
virtual void OnActionEvent (const uint32 eventCRC)
virtual const char * GetName () const =0
virtual void DoDelete ()=0
IAction * GetSlaveAction (uint32 i)
uint32 GetTotalSlaveActions () const

Protected Member Functions

void SetFragment (const FragmentID fragmentID, const TagState &tagState=TAG_STATE_EMPTY, uint32 optionIdx=OPTION_IDX_RANDOM, const uint32 userToken=0, bool trumpSelf=true)
EPriorityComparison DoComparePriority (const IAction &actionCurrent) const

Protected Attributes

SAnimationContext * m_context
float m_activeTime
float m_queueTime
ActionScopes m_forcedScopeMask
ActionScopes m_installedScopeMask
TagID m_subContext
int m_priority
EStatus m_eStatus
uint32 m_flags
IScope * m_rootScope
FragmentID m_fragmentID
TagState m_fragTags
uint32 m_optionIdx
uint32 m_userToken
int m_refCount
float m_speedBias
float m_animWeight
CMannequinParams m_mannequinParams

Friends

class CActionController
class CActionScope

Detailed Description

Main interface for a Mannequin fragment.