Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend/StarClientCommandProcessor.hpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
commit6352e8e3196f78388b6c771073f9e03eaa612673 (patch)
treee23772f79a7fbc41bc9108951e9e136857484bf4 /source/frontend/StarClientCommandProcessor.hpp
parent6741a057e5639280d85d0f88ba26f000baa58f61 (diff)
everything everywhere
all at once
Diffstat (limited to 'source/frontend/StarClientCommandProcessor.hpp')
-rw-r--r--source/frontend/StarClientCommandProcessor.hpp73
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