1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 05:19:55 +00:00
openmw-tes3mp/apps/openmw/mwmechanics/mechanicsmanager.hpp

55 lines
1.3 KiB
C++

#ifndef GAME_MWMECHANICS_MECHANICSMANAGER_H
#define GAME_MWMECHANICS_MECHANICSMANAGER_H
#include <set>
#include "../mwworld/ptr.hpp"
#include "creaturestats.hpp"
namespace ESMS
{
struct ESMStore;
}
namespace MWGui
{
class WindowManager;
}
namespace MWMechanics
{
class MechanicsManager
{
const ESMS::ESMStore& mStore;
MWGui::WindowManager& mWindowManager;
std::set<MWWorld::Ptr> mActors;
MWWorld::Ptr mWatched;
CreatureStats mWatchedCreature;
public:
MechanicsManager (const ESMS::ESMStore& store, MWGui::WindowManager& windowManager);
void configureGUI();
void addActor (const MWWorld::Ptr& ptr);
///< Register an actor for stats management
void removeActor (const MWWorld::Ptr& ptr);
///< Deregister an actor for stats management
void dropActors (const MWWorld::Ptr::CellStore *cellStore);
///< Deregister all actors in the given cell.
void watchActor (const MWWorld::Ptr& ptr);
///< On each update look for changes in a previously registered actor and update the
/// GUI accordingly.
void update();
///< Update actor stats
};
}
#endif