mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 22:26:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef GAME_MWCLASS_DOOR_H
 | |
| #define GAME_MWCLASS_DOOR_H
 | |
| 
 | |
| #include <components/esm/loaddoor.hpp>
 | |
| 
 | |
| #include "../mwworld/class.hpp"
 | |
| 
 | |
| namespace MWClass
 | |
| {
 | |
|     class Door : public MWWorld::Class
 | |
|     {
 | |
|             void ensureCustomData (const MWWorld::Ptr& ptr) const;
 | |
| 
 | |
|             virtual MWWorld::Ptr
 | |
|             copyToCellImpl(const MWWorld::Ptr &ptr, MWWorld::CellStore &cell) const;
 | |
| 
 | |
|         public:
 | |
| 
 | |
|             virtual void insertObjectRendering (const MWWorld::Ptr& ptr, MWRender::RenderingInterface& renderingInterface) const;
 | |
|             ///< Add reference into a cell for rendering
 | |
| 
 | |
|             virtual void insertObject(const MWWorld::Ptr& ptr, MWWorld::PhysicsSystem& physics) const;
 | |
| 
 | |
|             virtual std::string getName (const MWWorld::Ptr& ptr) const;
 | |
|             ///< \return name (the one that is to be presented to the user; not the internal one);
 | |
|             /// can return an empty string.
 | |
| 
 | |
|             virtual boost::shared_ptr<MWWorld::Action> activate (const MWWorld::Ptr& ptr,
 | |
|                 const MWWorld::Ptr& actor) const;
 | |
|             ///< Generate action for activation
 | |
| 
 | |
|             virtual bool hasToolTip (const MWWorld::Ptr& ptr) const;
 | |
|             ///< @return true if this object has a tooltip when focused (default implementation: false)
 | |
| 
 | |
|             virtual MWGui::ToolTipInfo getToolTipInfo (const MWWorld::Ptr& ptr) const;
 | |
|             ///< @return the content of the tool tip to be displayed. raises exception if the object has no tooltip.
 | |
| 
 | |
|             static std::string getDestination (const MWWorld::LiveCellRef<ESM::Door>& door);
 | |
|             ///< @return destination cell name or token
 | |
| 
 | |
|             virtual void lock (const MWWorld::Ptr& ptr, int lockLevel = 0) const;
 | |
|             ///< Lock object
 | |
| 
 | |
|             virtual void unlock (const MWWorld::Ptr& ptr) const;
 | |
|             ///< Unlock object
 | |
| 
 | |
|             virtual std::string getScript (const MWWorld::Ptr& ptr) const;
 | |
|             ///< Return name of the script attached to ptr
 | |
| 
 | |
|             static void registerSelf();
 | |
| 
 | |
|             virtual std::string getModel(const MWWorld::Ptr &ptr) const;
 | |
| 
 | |
|             /// 0 = nothing, 1 = opening, 2 = closing
 | |
|             virtual int getDoorState (const MWWorld::Ptr &ptr) const;
 | |
|             /// This does not actually cause the door to move. Use World::activateDoor instead.
 | |
|             virtual void setDoorState (const MWWorld::Ptr &ptr, int state) const;
 | |
| 
 | |
| 
 | |
|             virtual void readAdditionalState (const MWWorld::Ptr& ptr, const ESM::ObjectState& state)
 | |
|                 const;
 | |
|             ///< Read additional state from \a state into \a ptr.
 | |
| 
 | |
|             virtual void writeAdditionalState (const MWWorld::Ptr& ptr, ESM::ObjectState& state)
 | |
|                 const;
 | |
|             ///< Write additional state from \a ptr into \a state.
 | |
|     };
 | |
| }
 | |
| 
 | |
| #endif
 |