diff options
Diffstat (limited to 'src/activeobject.h')
-rw-r--r-- | src/activeobject.h | 60 |
1 files changed, 33 insertions, 27 deletions
diff --git a/src/activeobject.h b/src/activeobject.h index 50d3525e9..85e160d10 100644 --- a/src/activeobject.h +++ b/src/activeobject.h @@ -23,41 +23,39 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irr_v3d.h" #include <string> -enum ActiveObjectType -{ + +enum ActiveObjectType { ACTIVEOBJECT_TYPE_INVALID = 0, ACTIVEOBJECT_TYPE_TEST = 1, - // Obsolete stuff +// Obsolete stuff ACTIVEOBJECT_TYPE_ITEM = 2, - // ACTIVEOBJECT_TYPE_RAT = 3, - // ACTIVEOBJECT_TYPE_OERKKI1 = 4, - // ACTIVEOBJECT_TYPE_FIREFLY = 5, +// ACTIVEOBJECT_TYPE_RAT = 3, +// ACTIVEOBJECT_TYPE_OERKKI1 = 4, +// ACTIVEOBJECT_TYPE_FIREFLY = 5, ACTIVEOBJECT_TYPE_MOBV2 = 6, - // End obsolete stuff +// End obsolete stuff ACTIVEOBJECT_TYPE_LUAENTITY = 7, - // Special type, not stored as a static object +// Special type, not stored as a static object ACTIVEOBJECT_TYPE_PLAYER = 100, - // Special type, only exists as CAO +// Special type, only exists as CAO ACTIVEOBJECT_TYPE_GENERIC = 101, }; // Other types are defined in content_object.h struct ActiveObjectMessage { - ActiveObjectMessage( - u16 id_, bool reliable_ = true, const std::string &data_ = "") : - id(id_), - reliable(reliable_), datastring(data_) - { - } + ActiveObjectMessage(u16 id_, bool reliable_=true, const std::string &data_ = "") : + id(id_), + reliable(reliable_), + datastring(data_) + {} u16 id; bool reliable; std::string datastring; }; -enum ActiveObjectCommand -{ +enum ActiveObjectCommand { AO_CMD_SET_PROPERTIES, AO_CMD_UPDATE_POSITION, AO_CMD_SET_TEXTURE_MOD, @@ -80,14 +78,24 @@ enum ActiveObjectCommand class ActiveObject { public: - ActiveObject(u16 id) : m_id(id) {} + ActiveObject(u16 id): + m_id(id) + { + } - u16 getId() const { return m_id; } + u16 getId() const + { + return m_id; + } - void setId(u16 id) { m_id = id; } + void setId(u16 id) + { + m_id = id; + } virtual ActiveObjectType getType() const = 0; + /*! * Returns the collision box of the object. * This box is translated by the object's @@ -97,6 +105,7 @@ public: */ virtual bool getCollisionBox(aabb3f *toset) const = 0; + /*! * Returns the selection box of the object. * This box is not translated when the @@ -106,21 +115,18 @@ public: */ virtual bool getSelectionBox(aabb3f *toset) const = 0; + virtual bool collideWithObjects() const = 0; + virtual void setAttachment(int parent_id, const std::string &bone, v3f position, - v3f rotation) - { - } + v3f rotation) {} virtual void getAttachment(int *parent_id, std::string *bone, v3f *position, - v3f *rotation) const - { - } + v3f *rotation) const {} virtual void clearChildAttachments() {} virtual void clearParentAttachment() {} virtual void addAttachmentChild(int child_id) {} virtual void removeAttachmentChild(int child_id) {} - protected: u16 m_id; // 0 is invalid, "no id" }; |