You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.9 KiB
C++
79 lines
1.9 KiB
C++
#ifndef MWINPUT_ACTIONMANAGER_H
|
|
#define MWINPUT_ACTIONMANAGER_H
|
|
|
|
#include <osg/ref_ptr>
|
|
#include <osgViewer/ViewerEventHandlers>
|
|
|
|
namespace osgViewer
|
|
{
|
|
class Viewer;
|
|
class ScreenCaptureHandler;
|
|
}
|
|
|
|
namespace MWInput
|
|
{
|
|
class BindingsManager;
|
|
|
|
class ActionManager
|
|
{
|
|
public:
|
|
|
|
ActionManager(BindingsManager* bindingsManager,
|
|
osgViewer::ScreenCaptureHandler::CaptureOperation* screenCaptureOperation,
|
|
osg::ref_ptr<osgViewer::Viewer> viewer,
|
|
osg::ref_ptr<osgViewer::ScreenCaptureHandler> screenCaptureHandler);
|
|
|
|
void update(float dt, bool triedToMove);
|
|
|
|
void executeAction(int action);
|
|
|
|
bool checkAllowedToUseItems() const;
|
|
|
|
void toggleMainMenu();
|
|
void toggleSpell();
|
|
void toggleWeapon();
|
|
void toggleInventory();
|
|
void toggleConsole();
|
|
void screenshot();
|
|
void toggleJournal();
|
|
void activate();
|
|
void toggleWalking();
|
|
void toggleSneaking();
|
|
void toggleAutoMove();
|
|
void rest();
|
|
void quickLoad();
|
|
void quickSave();
|
|
|
|
void quickKey (int index);
|
|
void showQuickKeysMenu();
|
|
|
|
void resetIdleTime();
|
|
|
|
bool isAlwaysRunActive() const { return mAlwaysRunActive; };
|
|
bool isSneaking() const { return mSneaking; };
|
|
|
|
void setAttemptJump(bool enabled) { mAttemptJump = enabled; }
|
|
|
|
bool isPreviewModeEnabled();
|
|
|
|
private:
|
|
void handleGuiArrowKey(int action);
|
|
|
|
void updateIdleTime(float dt);
|
|
|
|
BindingsManager* mBindingsManager;
|
|
osg::ref_ptr<osgViewer::Viewer> mViewer;
|
|
osg::ref_ptr<osgViewer::ScreenCaptureHandler> mScreenCaptureHandler;
|
|
osgViewer::ScreenCaptureHandler::CaptureOperation* mScreenCaptureOperation;
|
|
|
|
bool mAlwaysRunActive;
|
|
bool mSneaking;
|
|
bool mAttemptJump;
|
|
|
|
float mOverencumberedMessageDelay;
|
|
float mPreviewPOVDelay;
|
|
float mTimeIdle;
|
|
};
|
|
}
|
|
#endif
|