1#ifndef YAZE_SRC_CLI_HANDLERS_DUNGEON_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_DUNGEON_COMMANDS_H_
15 std::string
GetName()
const {
return "dungeon-list-sprites"; }
17 return "List all sprites in a dungeon room";
20 return "dungeon-list-sprites --room <room_id> [--format <json|text>]";
36 std::string
GetName()
const {
return "dungeon-describe-room"; }
38 return "Get detailed description of a dungeon room";
41 return "dungeon-describe-room --room <room_id> [--format <json|text>]";
57 std::string
GetName()
const {
return "dungeon-export-room"; }
59 return "Export room data to JSON format";
62 return "dungeon-export-room --room <room_id> [--format <json|text>]";
78 std::string
GetName()
const {
return "dungeon-list-objects"; }
80 return "List all objects in a dungeon room";
83 return "dungeon-list-objects --room <room_id> [--format <json|text>]";
99 std::string
GetName()
const {
return "dungeon-get-room-tiles"; }
101 return "Get tile data for a dungeon room";
104 return "dungeon-get-room-tiles --room <room_id> [--format <json|text>]";
120 std::string
GetName()
const {
return "dungeon-set-room-property"; }
122 return "Set a property on a dungeon room";
125 return "dungeon-set-room-property --room <room_id> --property <property> --value <value> [--format <json|text>]";
129 return parser.
RequireArgs({
"room",
"property",
"value"});
The Rom class is used to load, save, and modify Rom data.
Command handler for describing a dungeon room.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
Command handler for exporting room data.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDescription() const
std::string GetName() const
Get the command name.
Command handler for getting room tiles.
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
Command handler for listing objects in a room.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
Command handler for listing sprites in a dungeon room.
std::string GetDescription() const
std::string GetName() const
Get the command name.
std::string GetUsage() const
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
Command handler for setting room properties.
std::string GetUsage() const
Get the command usage string.
std::string GetDescription() const
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetName() const
Get the command name.
Utility for parsing common CLI argument patterns.
absl::Status RequireArgs(const std::vector< std::string > &required) const
Validate that required arguments are present.
Base class for CLI command handlers.
Main namespace for the application.