OpenMW
apps/openmw/mwmechanics/objects.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWMECHANICS_ACTIVATORS_H
00002 #define GAME_MWMECHANICS_ACTIVATORS_H
00003 
00004 #include <string>
00005 #include <map>
00006 
00007 #include "character.hpp"
00008 
00009 namespace MWWorld
00010 {
00011     class Ptr;
00012     class CellStore;
00013 }
00014 
00015 namespace MWMechanics
00016 {
00017     class Objects
00018     {
00019         typedef std::map<MWWorld::Ptr,CharacterController*> PtrControllerMap;
00020         PtrControllerMap mObjects;
00021 
00022     public:
00023         Objects();
00024         ~Objects();
00025 
00026         void addObject (const MWWorld::Ptr& ptr);
00028 
00029         void removeObject (const MWWorld::Ptr& ptr);
00031 
00032         void updateObject(const MWWorld::Ptr &old, const MWWorld::Ptr& ptr);
00034 
00035         void dropObjects(const MWWorld::CellStore *cellStore);
00037 
00038         void update(float duration, bool paused);
00040 
00041         void playAnimationGroup(const MWWorld::Ptr& ptr, const std::string& groupName, int mode, int number);
00042         void skipAnimation(const MWWorld::Ptr& ptr);
00043     };
00044 }
00045 
00046 #endif