Support multiple and custom levels

This commit is contained in:
Martin Prokoph
2025-01-15 17:42:28 +01:00
parent 2959d06db4
commit f5297dfb66
10 changed files with 127 additions and 14 deletions

View File

@@ -9,17 +9,23 @@ using std::string;
class BlockRegistry {
public:
Block AIR = Block(Identifier("adventura", "air"), ' ', BlockSettingsBuilder().nonSolid().build());
Block WATER = Block(Identifier("adventura", "water"), '~', Color::BRIGHT_BLUE, BlockSettingsBuilder().nonSolid().build());
Block PLATFORM = Block(Identifier("adventura", "platform"), '-', BlockSettingsBuilder().build());
Block LADDER = Block(Identifier("adventura", "ladder"), 'H', BlockSettingsBuilder().climbableFromBottom().climbableFromTop().build());
Block START = Block(Identifier("adventura", "start"), 'S', BlockSettingsBuilder().build());
Block GOAL = Block(Identifier("adventura", "goal"), 'O', BlockSettingsBuilder().build());
Block LADDER = Block(Identifier("adventura", "ladder"), 'H', Color::BRIGHT_MAGENTA, BlockSettingsBuilder().climbableFromBottom().climbableFromTop().build());
Block START = Block(Identifier("adventura", "start"), 'S', BlockSettingsBuilder().nonSolid().build());
Block GOAL = Block(Identifier("adventura", "goal"), 'O', Color::BRIGHT_GREEN, BlockSettingsBuilder().nonSolid().build());
Block WALL = Block(Identifier("adventura", "wall"), '0', Color::BRIGHT_BLACK, BlockSettingsBuilder().collidable().build());
Block SPIKE = Block(Identifier("adventura", "spike"), '^', Color::BRIGHT_RED, BlockSettingsBuilder().lethal().build());
BlockRegistry() {
registerBlock(AIR);
registerBlock(WATER);
registerBlock(PLATFORM);
registerBlock(LADDER);
registerBlock(START);
registerBlock(GOAL);
registerBlock(GOAL);
registerBlock(WALL);
registerBlock(SPIKE);
}
const Block getByEncoding(char encoding) {