- afegides claus i portes al editor
- fix: crear una nova habitació no modificava la memoria, soles els fitxers
This commit is contained in:
@@ -747,6 +747,10 @@ static auto cmdSet(const std::vector<std::string>& args) -> std::string {
|
||||
return MapEditor::get()->setItemProperty(args[0], args[1]);
|
||||
case EntityType::PLATFORM:
|
||||
return MapEditor::get()->setPlatformProperty(args[0], args[1]);
|
||||
case EntityType::KEY:
|
||||
return MapEditor::get()->setKeyProperty(args[0], args[1]);
|
||||
case EntityType::DOOR:
|
||||
return MapEditor::get()->setDoorProperty(args[0], args[1]);
|
||||
default:
|
||||
return MapEditor::get()->setRoomProperty(args[0], args[1]);
|
||||
}
|
||||
@@ -799,6 +803,38 @@ static auto cmdPlatform(const std::vector<std::string>& args) -> std::string {
|
||||
}
|
||||
return "usage: platform <add|delete|duplicate>";
|
||||
}
|
||||
|
||||
// KEY [ADD|DELETE|DUPLICATE]
|
||||
static auto cmdKey(const std::vector<std::string>& args) -> std::string {
|
||||
if ((MapEditor::get() == nullptr) || !MapEditor::get()->isActive()) { return "Editor not active"; }
|
||||
if (args.empty()) { return "usage: key <add|delete|duplicate>"; }
|
||||
if (args[0] == "ADD") { return MapEditor::get()->addKey(); }
|
||||
if (args[0] == "DELETE") {
|
||||
if (!MapEditor::get()->hasSelectedKey()) { return "No key selected"; }
|
||||
return MapEditor::get()->deleteKey();
|
||||
}
|
||||
if (args[0] == "DUPLICATE") {
|
||||
if (!MapEditor::get()->hasSelectedKey()) { return "No key selected"; }
|
||||
return MapEditor::get()->duplicateKey();
|
||||
}
|
||||
return "usage: key <add|delete|duplicate>";
|
||||
}
|
||||
|
||||
// DOOR [ADD|DELETE|DUPLICATE]
|
||||
static auto cmdDoor(const std::vector<std::string>& args) -> std::string {
|
||||
if ((MapEditor::get() == nullptr) || !MapEditor::get()->isActive()) { return "Editor not active"; }
|
||||
if (args.empty()) { return "usage: door <add|delete|duplicate>"; }
|
||||
if (args[0] == "ADD") { return MapEditor::get()->addDoor(); }
|
||||
if (args[0] == "DELETE") {
|
||||
if (!MapEditor::get()->hasSelectedDoor()) { return "No door selected"; }
|
||||
return MapEditor::get()->deleteDoor();
|
||||
}
|
||||
if (args[0] == "DUPLICATE") {
|
||||
if (!MapEditor::get()->hasSelectedDoor()) { return "No door selected"; }
|
||||
return MapEditor::get()->duplicateDoor();
|
||||
}
|
||||
return "usage: door <add|delete|duplicate>";
|
||||
}
|
||||
#endif
|
||||
|
||||
// SHOW [INFO|NOTIFICATION|CHEEVO]
|
||||
@@ -948,6 +984,8 @@ void CommandRegistry::registerHandlers() { // NOLINT(readability-function-cogni
|
||||
handlers_["cmd_enemy"] = cmdEnemy;
|
||||
handlers_["cmd_item"] = cmdItem;
|
||||
handlers_["cmd_platform"] = cmdPlatform;
|
||||
handlers_["cmd_key"] = cmdKey;
|
||||
handlers_["cmd_door"] = cmdDoor;
|
||||
#endif
|
||||
// HELP se registra en load() como lambda que captura this
|
||||
|
||||
|
||||
Reference in New Issue
Block a user