| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | /* * AdventureMapShortcuts.h, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */#pragma once#include "../../lib/constants/EntityIdentifiers.h"VCMI_LIB_NAMESPACE_BEGINclass Point;class Rect;VCMI_LIB_NAMESPACE_ENDenum class EShortcut;class AdventureMapInterface;enum class EAdventureState;struct AdventureMapShortcutState{	EShortcut shortcut;	bool isEnabled;	std::function<void()> callback;};/// Class that contains list of functions for shortcuts available from adventure mapclass AdventureMapShortcuts{	AdventureMapInterface & owner;	EAdventureState state;	int mapLevel;	std::string searchLast;	int searchPos;		void showOverview();	void worldViewBack();	void worldViewScale1x();	void worldViewScale2x();	void worldViewScale4x();	void switchMapLevel();	void showQuestlog();	void toggleTrackHero();	void toggleGrid();	void toggleVisitable();	void toggleBlocked();	void toggleSleepWake();	void setHeroSleeping();	void setHeroAwake();	void moveHeroAlongPath();	void showSpellbook();	void adventureOptions();	void systemOptions();	void firstHero();	void nextHero();	void endTurn();	void showThievesGuild();	void showScenarioInfo();	void toMainMenu();	void newGame();	void quitGame();	void saveGame();	void loadGame();	void digGrail();	void viewPuzzleMap();	void restartGame();	void visitObject();	void openObject();	void showMarketplace();	void firstTown();	void nextTown();	void nextObject();	void zoom( int distance);	void search(bool next);	void moveHeroDirectional(const Point & direction);public:	explicit AdventureMapShortcuts(AdventureMapInterface & owner);	std::vector<AdventureMapShortcutState> getShortcuts();	bool optionCanViewQuests();	bool optionCanToggleLevel();	bool optionMapLevelSurface();	bool optionHeroSleeping();	bool optionHeroAwake();	bool optionHeroSelected();	bool optionHeroCanMove();	bool optionHasNextHero();	bool optionCanVisitObject();	bool optionCanEndTurn();	bool optionSpellcasting();	bool optionInMapView();	bool optionInWorldView();	bool optionSidePanelActive();	bool optionMapScrollingActive();	bool optionMapViewActive();	void setState(EAdventureState newState);	EAdventureState getState() const;	void onMapViewMoved(const Rect & visibleArea, int mapLevel);};
 |