ScummVM API documentation
Stark::Resources::ItemTemplate Class Referenceabstract

#include <item.h>

Inheritance diagram for Stark::Resources::ItemTemplate:
Stark::Resources::Item Stark::Resources::Object Stark::Resources::GlobalItemTemplate Stark::Resources::LevelItemTemplate

Public Member Functions

 ItemTemplate (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void onAllLoaded () override
 
void onEnterLocation () override
 
void saveLoadCurrent (ResourceSerializer *serializer) override
 
ItemVisualgetSceneInstance () override
 
void setAnimHierarchy (AnimHierarchy *animHierarchy) override
 
virtual BonesMeshfindBonesMesh ()=0
 
virtual TextureSetfindTextureSet (uint32 textureType)=0
 
virtual AnimHierarchyfindStockAnimHierarchy ()=0
 
void setStockAnimHierachy (AnimHierarchy *animHierarchy)
 
void setBonesMesh (int32 index)
 
void setTexture (int32 index, uint32 textureType)
 
void setInstanciatedItem (Item *instance)
 
- Public Member Functions inherited from Stark::Resources::Item
 Item (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
void onGameLoop () override
 
void saveLoad (ResourceSerializer *serializer) override
 
bool isEnabled () const
 
virtual void setEnabled (bool enabled)
 
int32 getCharacterIndex () const
 
virtual Gfx::RenderEntrygetRenderEntry (const Common::Point &positionOffset)
 
void setMovement (Movement *movement)
 
MovementgetMovement () const
 
void setMovementSuspendedScript (Script *script)
 
virtual Common::Array< Common::PointlistExitPositions ()
 
- 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 onPostRead ()
 
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
 

Protected Attributes

int32 _meshIndex
 
int32 _textureNormalIndex
 
int32 _textureFaceIndex
 
int32 _animHierarchyIndex
 
Item_instanciatedItem
 
ItemTemplate_referencedItem
 
- Protected Attributes inherited from Stark::Resources::Item
bool _enabled
 
int32 _characterIndex
 
Movement_movement
 
Script_movementSuspendedScript
 
- 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

- Public Types inherited from Stark::Resources::Item
enum  SubType {
  kItemGlobalTemplate = 1, kItemInventory = 2, kItemLevelTemplate = 3, kItemStaticProp = 5,
  kItemAnimatedProp = 6, kItemBackgroundElement = 7, kItemBackground = 8, kItemModel = 10
}
 
- Static Public Member Functions inherited from Stark::Resources::Item
static Objectconstruct (Object *parent, byte subType, uint16 index, const Common::String &name)
 
- Static Public Member Functions inherited from Stark::Resources::Object
template<class T >
static T * cast (Object *resource)
 
- Static Public Attributes inherited from Stark::Resources::Item
static const Type::ResourceType TYPE = Type::kItem
 
- Protected Member Functions inherited from Stark::Resources::Item
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
 

Detailed Description

An item template

Item templates need to be instanciated into renderable items to be displayed

Member Function Documentation

◆ onAllLoaded()

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

Called when the resource sub-tree is entirely loaded.

Allows to load data from other nodes.

Reimplemented from Stark::Resources::Object.

Reimplemented in Stark::Resources::LevelItemTemplate.

◆ onEnterLocation()

void Stark::Resources::ItemTemplate::onEnterLocation ( )
overridevirtual

Called when entering a location

Reimplemented from Stark::Resources::Object.

◆ saveLoadCurrent()

void Stark::Resources::ItemTemplate::saveLoadCurrent ( ResourceSerializer serializer)
overridevirtual

Persist / restore the resource state

Called only for active locations

Reimplemented from Stark::Resources::Item.

◆ getSceneInstance()

ItemVisual* Stark::Resources::ItemTemplate::getSceneInstance ( )
overridevirtual

Obtain the concrete instance of an item template

Implements Stark::Resources::Item.

◆ setAnimHierarchy()

void Stark::Resources::ItemTemplate::setAnimHierarchy ( AnimHierarchy animHierarchy)
overridevirtual

Set the currently active anim hierachy

Implements Stark::Resources::Item.

◆ findBonesMesh()

virtual BonesMesh* Stark::Resources::ItemTemplate::findBonesMesh ( )
pure virtual

Obtain the bone mesh to use to render the item

Implemented in Stark::Resources::LevelItemTemplate, and Stark::Resources::GlobalItemTemplate.

◆ findTextureSet()

virtual TextureSet* Stark::Resources::ItemTemplate::findTextureSet ( uint32  textureType)
pure virtual

Obtain the texture to use to render the item

Implemented in Stark::Resources::LevelItemTemplate, and Stark::Resources::GlobalItemTemplate.

◆ findStockAnimHierarchy()

virtual AnimHierarchy* Stark::Resources::ItemTemplate::findStockAnimHierarchy ( )
pure virtual

Obtain the animation hierarchy to fetch animations from

Implemented in Stark::Resources::LevelItemTemplate, and Stark::Resources::GlobalItemTemplate.

◆ setStockAnimHierachy()

void Stark::Resources::ItemTemplate::setStockAnimHierachy ( AnimHierarchy animHierarchy)

Define the anim hierarchy to be persisted across locations

◆ setBonesMesh()

void Stark::Resources::ItemTemplate::setBonesMesh ( int32  index)

Change the item's mesh

◆ setTexture()

void Stark::Resources::ItemTemplate::setTexture ( int32  index,
uint32  textureType 
)

Set the mesh main or face texture

◆ setInstanciatedItem()

void Stark::Resources::ItemTemplate::setInstanciatedItem ( Item instance)

Set the scene instanciation for this template


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