ScummVM API documentation
Stark::Resources::AnimHierarchy Class Reference

#include <animhierarchy.h>

Inheritance diagram for Stark::Resources::AnimHierarchy:
Stark::Resources::Object

Public Member Functions

 AnimHierarchy (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
void onAllLoaded () override
 
void setItemAnim (ItemVisual *item, int32 activity)
 
void unselectItemAnim (ItemVisual *item)
 
void selectItemAnim (ItemVisual *item)
 
AnimgetCurrentAnim ()
 
BonesMeshfindBonesMesh ()
 
TextureSetfindTextureSet (uint32 textureType)
 
VisualgetVisualForUsage (uint32 usage)
 
AnimgetIdleActionAnim () const
 
- Public Member Functions inherited from Stark::Resources::Object
Type getType () const
 
byte getSubType () const
 
uint16 getIndex () const
 
Common::String getIndexAsString () const
 
Common::String getName () const
 
virtual void saveLoad (ResourceSerializer *serializer)
 
virtual void saveLoadCurrent (ResourceSerializer *serializer)
 
virtual void onPostRead ()
 
virtual void onEnterLocation ()
 
virtual void onGameLoop ()
 
virtual void onEnginePause (bool pause)
 
virtual void onExitLocation ()
 
virtual void onPreDestroy ()
 
template<class T >
T * findParent ()
 
ObjectfindChildWithIndex (Type type, uint16 index, int subType=-1) const
 
ObjectfindChildWithOrder (Type type, uint16 order, int subType=-1) const
 
ObjectfindChildWithName (Type type, const Common::String &name, int subType=-1) const
 
template<class T >
T * findChild (bool mustBeUnique=true) const
 
template<class T >
T * findChildWithSubtype (int subType, bool mustBeUnique=true) const
 
template<class T >
T * findChildWithIndex (uint16 index, int subType=-1) const
 
template<class T >
T * findChildWithOrder (uint16 order, int subType=-1) const
 
template<class T >
T * findChildWithName (const Common::String &name, int subType=-1) const
 
template<class T >
Common::Array< T * > listChildren (int subType=-1) const
 
template<class T >
Common::Array< T * > listChildrenRecursive (int subType=-1)
 
void addChild (Object *child)
 
virtual void print (uint depth=0)
 
template<>
Objectcast (Object *resource)
 
template<>
ObjectfindParent ()
 
template<>
Common::Array< Object * > listChildren (int subType) const
 

Static Public Attributes

static const Type::ResourceType TYPE = Type::kAnimHierarchy
 

Protected Member Functions

void loadActivityAnimations ()
 
void loadIdleAnimations ()
 
AnimgetAnimForActivity (uint32 activity)
 
void printData () override
 
- Protected Member Functions inherited from Stark::Resources::Object
 Object (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void printWithDepth (uint depth, const Common::String &string) const
 
void printDescription (uint depth) const
 

Protected Attributes

Common::Array< ResourceReference_animationReferences
 
Common::Array< Anim * > _activityAnimations
 
Common::Array< Anim * > _idleAnimations
 
ResourceReference _parentAnimHierarchyReference
 
float _field_5C
 
uint32 _currentActivity
 
Anim_currentAnim
 
uint32 _idleActionsFrequencySum
 
- Protected Attributes inherited from Stark::Resources::Object
Type _type
 
byte _subType
 
uint16 _index
 
Common::String _name
 
Object_parent
 
Common::Array< Object * > _children
 

Additional Inherited Members

- Static Public Member Functions inherited from Stark::Resources::Object
template<class T >
static T * cast (Object *resource)
 

Detailed Description

An animation hierarchy is a container resource referencing the available animations for an item.

This resource keeps track of the currently selected animation.

Member Function Documentation

◆ readData()

void Stark::Resources::AnimHierarchy::readData ( Formats::XRCReadStream stream)
overridevirtual

Deserialize the resource static data and initial state.

Reimplemented from Stark::Resources::Object.

◆ onAllLoaded()

void Stark::Resources::AnimHierarchy::onAllLoaded ( )
overridevirtual

Called when the resource sub-tree is entirely loaded.

Allows to load data from other nodes.

Reimplemented from Stark::Resources::Object.

◆ setItemAnim()

void Stark::Resources::AnimHierarchy::setItemAnim ( ItemVisual item,
int32  activity 
)

Set and apply the current animation kind for an item

◆ unselectItemAnim()

void Stark::Resources::AnimHierarchy::unselectItemAnim ( ItemVisual item)

Unselect the current animation and remove it from an item

◆ selectItemAnim()

void Stark::Resources::AnimHierarchy::selectItemAnim ( ItemVisual item)

Apply the current animation to an item

◆ getCurrentAnim()

Anim* Stark::Resources::AnimHierarchy::getCurrentAnim ( )

Obtain the currently selected animation

◆ findBonesMesh()

BonesMesh* Stark::Resources::AnimHierarchy::findBonesMesh ( )

Retrieve the first bone mesh from the anim hierarchy children, if any

◆ findTextureSet()

TextureSet* Stark::Resources::AnimHierarchy::findTextureSet ( uint32  textureType)

Retrieve the first texture of the appropriate type from the anim hierarchy children, if any

◆ getIdleActionAnim()

Anim* Stark::Resources::AnimHierarchy::getIdleActionAnim ( ) const

Randomize an idle action animation


The documentation for this class was generated from the following file: