Luanti 5.16.0-dev
Loading...
Searching...
No Matches
ClientActiveObject Class Referenceabstract

#include <clientobject.h>

Inheritance diagram for ClientActiveObject:
Collaboration diagram for ClientActiveObject:

Public Member Functions

 ClientActiveObject (u16 id, Client *client, ClientEnvironment *env)
virtual ~ClientActiveObject ()
virtual void addToScene (ITextureSource *tsrc, scene::ISceneManager *smgr)=0
virtual void removeFromScene (bool permanent)
virtual void updateLight (u32 day_night_ratio)
virtual bool getCollisionBox (aabb3f *toset) const
virtual bool getSelectionBox (aabb3f *toset) const
virtual bool collideWithObjects () const
virtual const v3f getPosition () const
virtual const v3f getVelocity () const
virtual scene::ISceneNode * getSceneNode () const
virtual scene::AnimatedMeshSceneNode * getAnimatedMeshSceneNode () const
virtual bool isLocalPlayer () const
virtual ClientActiveObjectgetParent () const
virtual const std::unordered_set< object_t > & getAttachmentChildIds () const
virtual void updateAttachments ()
virtual bool doShowSelectionBox ()
virtual void step (float dtime, ClientEnvironment *env)
virtual void processMessage (const std::string &data)
virtual std::string infoText ()
virtual std::string debugInfoText ()
virtual void initialize (const std::string &data)
virtual bool directReportPunch (v3f dir, const ItemStack *punchitem, const ItemStack *hand_item, float time_from_last_punch=1000000)
Public Member Functions inherited from ActiveObject
 ActiveObject (object_t id)
object_t getId () const
void setId (object_t id)
virtual ActiveObjectType getType () const =0
virtual void setAttachment (object_t parent_id, const std::string &bone, v3f position, v3f rotation, bool force_visible)
virtual void getAttachment (object_t *parent_id, std::string *bone, v3f *position, v3f *rotation, bool *force_visible) const
virtual void clearChildAttachments ()
virtual void clearParentAttachment ()
virtual void addAttachmentChild (object_t child_id)
virtual void removeAttachmentChild (object_t child_id)

Static Public Member Functions

static std::unique_ptr< ClientActiveObjectcreate (ActiveObjectType type, Client *client, ClientEnvironment *env)

Protected Types

typedef std::unique_ptr< ClientActiveObject >(* Factory) (Client *client, ClientEnvironment *env)

Static Protected Member Functions

static void registerType (u16 type, Factory f)

Protected Attributes

Clientm_client
ClientEnvironmentm_env
Protected Attributes inherited from ActiveObject
object_t m_id

Static Private Attributes

static std::unordered_map< u16, Factorym_types

Additional Inherited Members

Public Types inherited from ActiveObject
typedef u16 object_t

Member Typedef Documentation

◆ Factory

typedef std::unique_ptr< ClientActiveObject >(* ClientActiveObject::Factory) (Client *client, ClientEnvironment *env)
protected

Constructor & Destructor Documentation

◆ ClientActiveObject()

ClientActiveObject::ClientActiveObject ( u16 id,
Client * client,
ClientEnvironment * env )

References ActiveObject::ActiveObject(), m_client, and m_env.

Referenced by GenericCAO::GenericCAO(), TestClientActiveObject::TestClientActiveObject(), TestSelectableClientActiveObject::TestSelectableClientActiveObject(), getParent(), GenericCAO::getParent(), GenericCAO::setAttachment(), GenericCAO::step(), and GenericCAO::updateAttachments().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~ClientActiveObject()

ClientActiveObject::~ClientActiveObject ( )
virtual

References removeFromScene().

Here is the call graph for this function:

Member Function Documentation

◆ addToScene()

virtual void ClientActiveObject::addToScene ( ITextureSource * tsrc,
scene::ISceneManager * smgr )
pure virtual

Implemented in GenericCAO, TestClientActiveObject, and TestSelectableClientActiveObject.

Referenced by ClientEnvironment::addActiveObject().

Here is the caller graph for this function:

◆ collideWithObjects()

virtual bool ClientActiveObject::collideWithObjects ( ) const
inlinevirtual

Implements ActiveObject.

Reimplemented in GenericCAO.

◆ create()

std::unique_ptr< ClientActiveObject > ClientActiveObject::create ( ActiveObjectType type,
Client * client,
ClientEnvironment * env )
static

References m_types, and warningstream.

Referenced by ClientEnvironment::addActiveObject().

Here is the caller graph for this function:

◆ debugInfoText()

virtual std::string ClientActiveObject::debugInfoText ( )
inlinevirtual

Reimplemented in GenericCAO.

◆ directReportPunch()

virtual bool ClientActiveObject::directReportPunch ( v3f dir,
const ItemStack * punchitem,
const ItemStack * hand_item,
float time_from_last_punch = 1000000 )
inlinevirtual

Reimplemented in GenericCAO.

References dir().

Here is the call graph for this function:

◆ doShowSelectionBox()

virtual bool ClientActiveObject::doShowSelectionBox ( )
inlinevirtual

◆ getAnimatedMeshSceneNode()

virtual scene::AnimatedMeshSceneNode * ClientActiveObject::getAnimatedMeshSceneNode ( ) const
inlinevirtual

Reimplemented in GenericCAO.

Referenced by GenericCAO::updateAttachments().

Here is the caller graph for this function:

◆ getAttachmentChildIds()

virtual const std::unordered_set< object_t > & ClientActiveObject::getAttachmentChildIds ( ) const
inlinevirtual

Reimplemented in GenericCAO.

◆ getCollisionBox()

virtual bool ClientActiveObject::getCollisionBox ( aabb3f * toset) const
inlinevirtual

Returns the collision box of the object. This box is translated by the object's location. The box's coordinates are world coordinates.

Returns
true if the object has a collision box.

Implements ActiveObject.

Reimplemented in GenericCAO.

◆ getParent()

virtual ClientActiveObject * ClientActiveObject::getParent ( ) const
inlinevirtual

Reimplemented in GenericCAO.

References ClientActiveObject().

Here is the call graph for this function:

◆ getPosition()

virtual const v3f ClientActiveObject::getPosition ( ) const
inlinevirtual

Reimplemented in GenericCAO, and TestSelectableClientActiveObject.

Referenced by client::ActiveObjectMgr::getActiveObjects(), client::ActiveObjectMgr::getActiveSelectableObjects(), ClientEnvironment::getSelectedActiveObjects(), Client::handleCommand_PlaySound(), and Camera::update().

Here is the caller graph for this function:

◆ getSceneNode()

virtual scene::ISceneNode * ClientActiveObject::getSceneNode ( ) const
inlinevirtual

Reimplemented in GenericCAO.

Referenced by ClientEnvironment::getSelectedActiveObjects(), GenericCAO::step(), and GenericCAO::updateAttachments().

Here is the caller graph for this function:

◆ getSelectionBox()

virtual bool ClientActiveObject::getSelectionBox ( aabb3f * toset) const
inlinevirtual

Returns the selection box of the object. This box is not translated when the object moves. The box's coordinates are world coordinates.

Returns
true if the object has a selection box.

Implements ActiveObject.

Reimplemented in GenericCAO, and TestSelectableClientActiveObject.

Referenced by client::ActiveObjectMgr::getActiveSelectableObjects(), and ClientEnvironment::getSelectedActiveObjects().

Here is the caller graph for this function:

◆ getVelocity()

virtual const v3f ClientActiveObject::getVelocity ( ) const
inlinevirtual

Reimplemented in GenericCAO.

Referenced by Client::handleCommand_PlaySound(), and Game::updateSound().

Here is the caller graph for this function:

◆ infoText()

virtual std::string ClientActiveObject::infoText ( )
inlinevirtual

Reimplemented in GenericCAO.

◆ initialize()

virtual void ClientActiveObject::initialize ( const std::string & data)
inlinevirtual

Reimplemented in GenericCAO.

◆ isLocalPlayer()

virtual bool ClientActiveObject::isLocalPlayer ( ) const
inlinevirtual

Reimplemented in GenericCAO.

Referenced by GenericCAO::updateAttachments().

Here is the caller graph for this function:

◆ processMessage()

virtual void ClientActiveObject::processMessage ( const std::string & data)
inlinevirtual

Reimplemented in GenericCAO.

Referenced by ClientEnvironment::processActiveObjectMessage().

Here is the caller graph for this function:

◆ registerType()

void ClientActiveObject::registerType ( u16 type,
Factory f )
staticprotected

References m_types.

Referenced by GenericCAO::GenericCAO().

Here is the caller graph for this function:

◆ removeFromScene()

virtual void ClientActiveObject::removeFromScene ( bool permanent)
inlinevirtual

Reimplemented in GenericCAO.

Referenced by ~ClientActiveObject().

Here is the caller graph for this function:

◆ step()

virtual void ClientActiveObject::step ( float dtime,
ClientEnvironment * env )
inlinevirtual

Reimplemented in GenericCAO.

◆ updateAttachments()

virtual void ClientActiveObject::updateAttachments ( )
inlinevirtual

Reimplemented in GenericCAO.

Referenced by GenericCAO::step(), and GenericCAO::updateAttachments().

Here is the caller graph for this function:

◆ updateLight()

virtual void ClientActiveObject::updateLight ( u32 day_night_ratio)
inlinevirtual

Reimplemented in GenericCAO.

Member Data Documentation

◆ m_client

Client* ClientActiveObject::m_client
protected

Referenced by ClientActiveObject().

◆ m_env

◆ m_types

std::unordered_map< u16, ClientActiveObject::Factory > ClientActiveObject::m_types
staticprivate

Referenced by create(), and registerType().


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