diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
commit | 6352e8e3196f78388b6c771073f9e03eaa612673 (patch) | |
tree | e23772f79a7fbc41bc9108951e9e136857484bf4 /source/frontend/StarClientCommandProcessor.hpp | |
parent | 6741a057e5639280d85d0f88ba26f000baa58f61 (diff) |
everything everywhere
all at once
Diffstat (limited to 'source/frontend/StarClientCommandProcessor.hpp')
-rw-r--r-- | source/frontend/StarClientCommandProcessor.hpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/source/frontend/StarClientCommandProcessor.hpp b/source/frontend/StarClientCommandProcessor.hpp new file mode 100644 index 0000000..9b0219b --- /dev/null +++ b/source/frontend/StarClientCommandProcessor.hpp @@ -0,0 +1,73 @@ +#ifndef STAR_CLIENT_COMMAND_PROCESSOR_HPP +#define STAR_CLIENT_COMMAND_PROCESSOR_HPP + +#include "StarShellParser.hpp" +#include "StarLuaComponents.hpp" +#include "StarLuaRoot.hpp" +#include "StarUniverseClient.hpp" +#include "StarQuestManager.hpp" +#include "StarCinematic.hpp" +#include "StarMainInterfaceTypes.hpp" + +namespace Star { + +class ClientCommandProcessor { +public: + ClientCommandProcessor(UniverseClientPtr universeClient, CinematicPtr cinematicOverlay, + MainInterfacePaneManager* paneManager, StringMap<StringList> macroCommands); + + StringList handleCommand(String const& commandLine); + + bool debugDisplayEnabled() const; + bool fixedCameraEnabled() const; + +private: + bool adminCommandAllowed() const; + String previewQuestPane(StringList const& arguments, function<PanePtr(QuestPtr)> createPane); + + String reload(); + String whoami(); + String gravity(); + String debug(); + String boxes(); + String fullbright(); + String setGravity(StringList const& arguments); + String resetGravity(); + String fixedCamera(); + String monochromeLighting(); + String radioMessage(StringList const& arguments); + String clearRadioMessages(); + String clearCinematics(); + String startQuest(StringList const& arguments); + String completeQuest(StringList const& arguments); + String failQuest(StringList const& arguments); + String previewNewQuest(StringList const& arguments); + String previewQuestComplete(StringList const& arguments); + String previewQuestFailed(StringList const& arguments); + String clearScannedObjects(); + String playTime(); + String deathCount(); + String cinema(StringList const& arguments); + String suicide(); + String naked(); + String resetAchievements(); + String statistic(StringList const& arguments); + String giveEssentialItem(StringList const& arguments); + String makeTechAvailable(StringList const& arguments); + String enableTech(StringList const& arguments); + String upgradeShip(StringList const& arguments); + + UniverseClientPtr m_universeClient; + CinematicPtr m_cinematicOverlay; + MainInterfacePaneManager* m_paneManager; + CaseInsensitiveStringMap<function<String(StringList const&)>> m_builtinCommands; + StringMap<StringList> m_macroCommands; + ShellParser m_parser; + LuaBaseComponent m_scriptComponent; + bool m_debugDisplayEnabled = false; + bool m_fixedCameraEnabled = false; +}; + +} + +#endif |