OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
door.hpp
Go to the documentation of this file.
1 #ifndef GAME_MWCLASS_DOOR_H
2 #define GAME_MWCLASS_DOOR_H
3 
5 
6 #include "../mwworld/class.hpp"
7 
8 namespace MWClass
9 {
10  class Door : public MWWorld::Class
11  {
12  void ensureCustomData (const MWWorld::Ptr& ptr) const;
13 
14  virtual MWWorld::Ptr copyToCellImpl(const MWWorld::ConstPtr &ptr, MWWorld::CellStore &cell) const;
15 
16  public:
17 
18  virtual void insertObjectRendering (const MWWorld::Ptr& ptr, const std::string& model, MWRender::RenderingInterface& renderingInterface) const;
20 
21  virtual void insertObject(const MWWorld::Ptr& ptr, const std::string& model, MWPhysics::PhysicsSystem& physics) const;
22 
23  virtual bool isDoor() const;
24 
25  virtual bool useAnim() const;
26 
27  virtual std::string getName (const MWWorld::ConstPtr& ptr) const;
30 
31  virtual std::shared_ptr<MWWorld::Action> activate (const MWWorld::Ptr& ptr,
32  const MWWorld::Ptr& actor) const;
34 
35  virtual bool hasToolTip (const MWWorld::ConstPtr& ptr) const;
37 
38  virtual MWGui::ToolTipInfo getToolTipInfo (const MWWorld::ConstPtr& ptr, int count) const;
40 
41  static std::string getDestination (const MWWorld::LiveCellRef<ESM::Door>& door);
43 
44  virtual void lock (const MWWorld::Ptr& ptr, int lockLevel = 0) const;
46 
47  virtual void unlock (const MWWorld::Ptr& ptr) const;
49 
50  virtual bool canLock(const MWWorld::ConstPtr &ptr) const;
51 
52  virtual bool allowTelekinesis(const MWWorld::ConstPtr &ptr) const;
54 
55  virtual std::string getScript (const MWWorld::ConstPtr& ptr) const;
57 
58  static void registerSelf();
59 
60  virtual std::string getModel(const MWWorld::ConstPtr &ptr) const;
61 
63  virtual int getDoorState (const MWWorld::ConstPtr &ptr) const;
65  virtual void setDoorState (const MWWorld::Ptr &ptr, int state) const;
66 
67 
68  virtual void readAdditionalState (const MWWorld::Ptr& ptr, const ESM::ObjectState& state)
69  const;
71 
72  virtual void writeAdditionalState (const MWWorld::ConstPtr& ptr, ESM::ObjectState& state)
73  const;
75  };
76 }
77 
78 #endif
Definition: tooltips.hpp:18
virtual void insertObject(const MWWorld::Ptr &ptr, const std::string &model, MWPhysics::PhysicsSystem &physics) const
Add reference into a cell for rendering (default implementation: don't render anything).
Definition: door.cpp:63
virtual bool allowTelekinesis(const MWWorld::ConstPtr &ptr) const
Return whether this class of object can be activated with telekinesis.
Definition: door.cpp:260
static void registerSelf()
Definition: door.cpp:275
virtual void lock(const MWWorld::Ptr &ptr, int lockLevel=0) const
Lock object.
Definition: door.cpp:241
virtual std::string getScript(const MWWorld::ConstPtr &ptr) const
Return name of the script attached to ptr.
Definition: door.cpp:268
virtual MWGui::ToolTipInfo getToolTipInfo(const MWWorld::ConstPtr &ptr, int count) const
Definition: door.cpp:289
Definition: renderinginterface.hpp:9
Definition: livecellref.hpp:77
Definition: physicssystem.hpp:52
virtual std::string getName(const MWWorld::ConstPtr &ptr) const
Definition: door.cpp:100
Base class for referenceable esm records.
Definition: class.hpp:51
virtual bool isDoor() const
Definition: door.cpp:79
virtual void insertObjectRendering(const MWWorld::Ptr &ptr, const std::string &model, MWRender::RenderingInterface &renderingInterface) const
Add reference into a cell for rendering.
Definition: door.cpp:56
virtual void readAdditionalState(const MWWorld::Ptr &ptr, const ESM::ObjectState &state) const
Read additional state from state into ptr.
Definition: door.cpp:389
void ensureCustomData(const MWWorld::Ptr &ptr) const
Definition: door.cpp:360
virtual std::string getModel(const MWWorld::ConstPtr &ptr) const
Definition: door.cpp:89
Definition: door.hpp:10
<
Definition: objectstate.hpp:19
Mutable state of a cell.
Definition: cellstore.hpp:51
Pointer to a const LiveCellRef.
Definition: ptr.hpp:90
virtual int getDoorState(const MWWorld::ConstPtr &ptr) const
0 = nothing, 1 = opening, 2 = closing
Definition: door.cpp:371
virtual bool hasToolTip(const MWWorld::ConstPtr &ptr) const
Definition: door.cpp:282
virtual void setDoorState(const MWWorld::Ptr &ptr, int state) const
This does not actually cause the door to move. Use World::activateDoor instead.
Definition: door.cpp:379
virtual void writeAdditionalState(const MWWorld::ConstPtr &ptr, ESM::ObjectState &state) const
Write additional state from ptr into state.
Definition: door.cpp:400
virtual bool canLock(const MWWorld::ConstPtr &ptr) const
Definition: door.cpp:255
virtual std::shared_ptr< MWWorld::Action > activate(const MWWorld::Ptr &ptr, const MWWorld::Ptr &actor) const
Generate action for activation.
Definition: door.cpp:107
virtual void unlock(const MWWorld::Ptr &ptr) const
Unlock object.
Definition: door.cpp:249
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
static std::string getDestination(const MWWorld::LiveCellRef< ESM::Door > &door)
Definition: door.cpp:322
virtual bool useAnim() const
Whether or not to use animated variant of model (default false)
Definition: door.cpp:84
virtual MWWorld::Ptr copyToCellImpl(const MWWorld::ConstPtr &ptr, MWWorld::CellStore &cell) const
Definition: door.cpp:353