/* entityproperties.h This file is part of the Project::OSiRiON world editor and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_EDITOR_ENTITYPROPERTIES__ #define __INCLUDED_EDITOR_ENTITYPROPERTIES__ #include "properties.h" #include namespace editor { /** * @brief contains the game properties for an entity * */ class EntityProperties : public Properties { public: EntityProperties(); virtual ~EntityProperties(); /** * @brief save ini formatted entity properties to a textstream * */ virtual void save(QTextStream &textstream); /* ---- inspectors ---- */ /** * @brief returns the type string of this object * */ inline const QString & type() const { return properties_type; } /** * @brief returns the object radius * */ inline const float radius() const { return properties_radius; } /** * @brief returns the subsections string of this object * */ inline const QString & subsections() const { return properties_subsections; } /* ---- mutators ---- */ /** * @brief add a header to the subsection string of this object * */ void add_subsection(const QString &name); /** * @brief add a value key pair to the subsection string of this object * */ void add_subsection_value(const QString &key, const QString &value); /** * @brief set the type string of this object * */ inline void set_type(const QString &type) { properties_type = type; } /** * @brief set the object radius * */ inline void set_radius(const float radius) { properties_radius = radius; } private: float properties_radius; QString properties_subsections; QString properties_type; }; } // namespace editor #endif // __INCLUDED_EDITOR_ENTITYPROPERTIES__