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

#include <item.h>

Inheritance diagram for Stark::Resources::FloorPositionedItem:
Stark::Resources::ItemVisual Stark::Resources::Item Stark::Resources::Object Stark::Resources::FloorPositionedImageItem Stark::Resources::ModelItem

Public Member Functions

 FloorPositionedItem (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void saveLoad (ResourceSerializer *serializer) override
 
void placeOnBookmark (Bookmark *target)
 
void placeDefaultPosition ()
 
Math::Vector3d getPosition3D () const
 
void setPosition3D (const Math::Vector3d &position)
 
int32 getFloorFaceIndex () const
 
void setFloorFaceIndex (int32 faceIndex)
 
Math::Vector3d getDirectionVector () const
 
void setDirection (const Math::Angle &direction)
 
float getSortKey () const
 
void overrideSortKey (float sortKey)
 
- Public Member Functions inherited from Stark::Resources::ItemVisual
 ItemVisual (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void readData (Formats::XRCReadStream *stream) override
 
void onAllLoaded () override
 
void saveLoadCurrent (ResourceSerializer *serializer) override
 
void setEnabled (bool enabled) override
 
ItemVisualgetSceneInstance () override
 
void setAnimHierarchy (AnimHierarchy *animHierarchy) override
 
virtual void setPosition2D (const Common::Point &position)
 
int getHotspotIndexForPoint (const Common::Point &point)
 
Common::String getHotspotTitle (uint32 hotspotIndex)
 
bool canPerformAction (uint32 action, uint32 hotspotIndex)
 
bool doAction (uint32 action, uint32 hotspotIndex)
 
void setAnimActivity (int32 activity)
 
int32 getAnimActivity () const
 
AnimgetAnim () const
 
AnimgetActionAnim () const
 
void playActionAnim (Anim *anim)
 
void resetActionAnim ()
 
- Public Member Functions inherited from Stark::Resources::Item
 Item (Object *parent, byte subType, uint16 index, const Common::String &name)
 
void onGameLoop () override
 
bool isEnabled () const
 
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 onEnterLocation ()
 
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 _floorFaceIndex
 
Math::Vector3d _position3D
 
float _direction3D
 
bool _sortKeyOverride
 
float _sortKeyOverridenValue
 
- Protected Attributes inherited from Stark::Resources::ItemVisual
Gfx::RenderEntry_renderEntry
 
Anim_actionAnim
 
AnimHierarchy_animHierarchy
 
int32 _currentAnimActivity
 
bool _clickable
 
- 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::ItemVisual
void printData () override
 
Common::Array< Common::PointlistExitPositionsImpl ()
 
VisualgetVisual ()
 
- 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

3D positioned item

Items with a 3D position, used in 3D layers. The sort key determines the order in which such items are drawn in.

Member Function Documentation

◆ saveLoad()

void Stark::Resources::FloorPositionedItem::saveLoad ( ResourceSerializer serializer)
overridevirtual

Persist / restore the resource state

Reimplemented from Stark::Resources::ItemVisual.

◆ placeOnBookmark()

void Stark::Resources::FloorPositionedItem::placeOnBookmark ( Bookmark target)

Move the item to a bookmarked position

◆ placeDefaultPosition()

void Stark::Resources::FloorPositionedItem::placeDefaultPosition ( )

Place the item on the center of the first floor face

◆ getPosition3D()

Math::Vector3d Stark::Resources::FloorPositionedItem::getPosition3D ( ) const

Get the item position

◆ setPosition3D()

void Stark::Resources::FloorPositionedItem::setPosition3D ( const Math::Vector3d &  position)

Move the item

◆ getFloorFaceIndex()

int32 Stark::Resources::FloorPositionedItem::getFloorFaceIndex ( ) const

Get the floor face index the item is standing on

◆ setFloorFaceIndex()

void Stark::Resources::FloorPositionedItem::setFloorFaceIndex ( int32  faceIndex)

Change the face the item is standing on

◆ getDirectionVector()

Math::Vector3d Stark::Resources::FloorPositionedItem::getDirectionVector ( ) const

Get a vector pointing in the same direction as the item

◆ setDirection()

void Stark::Resources::FloorPositionedItem::setDirection ( const Math::Angle &  direction)

Set the direction the item faces

◆ getSortKey()

float Stark::Resources::FloorPositionedItem::getSortKey ( ) const

Obtain the sort value for the item, used to compute the draw order

◆ overrideSortKey()

void Stark::Resources::FloorPositionedItem::overrideSortKey ( float  sortKey)

Don't rely on the floor face to compute the sort key, use the provided value instead.

This can be used to handle cases where the item is not over the floor.


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