Maze Builder Docs 8.2.1
Loading...
Searching...
No Matches
wavefront_object_create_state.h
Go to the documentation of this file.
1#ifndef WAVEFRONT_OBJECT_CREATE_H
2#define WAVEFRONT_OBJECT_CREATE_H
3
6#include <MazeBuilder/state.h>
7
8#include <string>
9#include <string_view>
10
13namespace mazes
14{
15 class args;
16 class configurator;
17 class randomizer;
18 class runtime_stack;
19 struct context;
20
23 {
24 public:
26
34 std::string_view create(const configurator &config, randomizer &rng) noexcept override;
35
36 void draw() const noexcept override;
37
42 bool update(const std::optional<args> &args, double delta_time) noexcept override;
43
44 private:
45 grid_manager *grid_mapper;
46 processed_text_manager *processed_text_mapper;
47 grid_identifier m_grid_id{grid_identifier::BASIC};
48 std::string m_result;
49 };
50} // namespace mazes
51
52#endif // WAVEFRONT_OBJECT_CREATE_H
Command-line argument handler with JSON support.
Definition args.h:19
Configuration class for arguments.
Definition configurator.h:21
Contract for the create function in the runtime.
Definition create_contract.h:16
Provides random-number generating capabilities.
Definition randomizer.h:15
Class representing the runtime stack of states in the maze builder application.
Definition runtime_stack.h:23
State for creating a maze using the Wavefront Object algorithm.
Definition wavefront_object_create_state.h:23
bool update(const std::optional< args > &args, double delta_time) noexcept override
Update the state with the given arguments and elapsed time.
std::string_view create(const configurator &config, randomizer &rng) noexcept override
Create a maze using the Wavefront Object algorithm.
struct representing the context passed to states in the runtime_app stack
Definition runtime_app.h:34
struct representing a state in the runtime stack
Definition state.h:18