forked from teamnwah/openmw-tes3coop
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
|
#ifndef GAME_MWCLASS_MOBILE_H
|
||
|
#define GAME_MWCLASS_MOBILE_H
|
||
|
|
||
|
#include "../mwworld/class.hpp"
|
||
|
|
||
|
namespace ESM
|
||
|
{
|
||
|
struct GameSetting;
|
||
|
}
|
||
|
|
||
|
namespace MWClass
|
||
|
{
|
||
|
/// \brief Class holding functionality common to Creature and NPC
|
||
|
class Mobile : public MWWorld::Class
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
Mobile();
|
||
|
|
||
|
public:
|
||
|
~Mobile();
|
||
|
|
||
|
virtual void adjustPosition(const MWWorld::Ptr& ptr, bool force) const;
|
||
|
///< Adjust position to stand on ground. Must be called post model load
|
||
|
/// @param force do this even if the ptr is flying
|
||
|
|
||
|
virtual void insertObject(const MWWorld::Ptr& ptr, const std::string& model, MWPhysics::PhysicsSystem& physics) const;
|
||
|
|
||
|
virtual void block(const MWWorld::Ptr &ptr) const;
|
||
|
|
||
|
virtual bool hasToolTip(const MWWorld::Ptr& ptr) const;
|
||
|
///< @return true if this object has a tooltip when focused (default implementation: false)
|
||
|
|
||
|
virtual osg::Vec3f getRotationVector(const MWWorld::Ptr& ptr) const;
|
||
|
///< Return desired rotations, as euler angles.
|
||
|
|
||
|
virtual float getEncumbrance(const MWWorld::Ptr& ptr) const;
|
||
|
///< Returns total weight of objects inside this object (including modifications from magic
|
||
|
/// effects). Throws an exception, if the object can't hold other objects.
|
||
|
|
||
|
// not implemented
|
||
|
Mobile(const Mobile&);
|
||
|
Mobile& operator= (const Mobile&);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
#endif
|