git repos / saland

commit c0834534

Poul Sander · 2019-04-15 17:32
c08345341e9b5f376ff4bec3cb77029c18ed0609 patch · browse files
parent 49e814a6d0f647e07523b5a50409089ddbbfdcc6

Added help message to the console commands

Changed files

M src/saland/Game.cpp before
M src/saland/console/Console.cpp before
M src/saland/console/Console.hpp before
diff --git a/src/saland/Game.cpp b/src/saland/Game.cpp index 89e5c98..6cebe7e 100644 --- a/src/saland/Game.cpp +++ b/src/saland/Game.cpp
@@ -92,6 +92,10 @@ struct GotoConsoleCommand : public ConsoleCommand {
teleportY = string2int_trows(args[2]);
return "Teleport queued!";
}
+
+ virtual std::string helpMessage() const override {
+ return "Call like \"goto <X> <Y>\". Where <X> and <Y> is the regions to go to.";
+ }
};
struct ResetRegionConsoleCommand : public ConsoleCommand {
@@ -100,6 +104,10 @@ struct ResetRegionConsoleCommand : public ConsoleCommand {
reset_region = true;
return "Region reset queued!";
}
+
+ virtual std::string helpMessage() const override {
+ return "Resets the current region back to default";
+ }
};
static GotoConsoleCommand gcc;
diff --git a/src/saland/console/Console.cpp b/src/saland/console/Console.cpp index 6716bf2..94b7bac 100644 --- a/src/saland/console/Console.cpp +++ b/src/saland/console/Console.cpp
@@ -42,13 +42,20 @@ void RegisterCommand(ConsoleCommand* command) {
struct HelpConsoleCommand : public ConsoleCommand {
virtual std::string getCommand() const override {return "help"; }
- virtual std::string run(const std::vector<std::string>&) override {
+ virtual std::string run(const std::vector<std::string>& args) override {
+ if (args.size() > 1 && commands.find(args.at(1)) != commands.end() ) {
+ std::stringstream ss;
+ ss << "Command \"" << args.at(1) << "\": " << commands[args.at(1)]->helpMessage();
+ return ss.str();
+ }
std::string helpMessage = "Allowed commands: ";
for (const auto& cmd : commands) {
helpMessage += cmd.first + ", ";
}
return helpMessage;
}
+
+ virtual std::string helpMessage() const { return "Displays this message"; }
};
static HelpConsoleCommand hcc;
diff --git a/src/saland/console/Console.hpp b/src/saland/console/Console.hpp index 4eb336e..a11b271 100644 --- a/src/saland/console/Console.hpp +++ b/src/saland/console/Console.hpp
@@ -33,6 +33,7 @@ https://github.com/sago007/saland
struct ConsoleCommand {
virtual std::string getCommand() const {return "version"; }
virtual std::string run(const std::vector<std::string>&) { return "Not implemented"; }
+ virtual std::string helpMessage() const { return "No help availeble"; }
};
/**