Maze Builder Docs
8.2.1
Loading...
Searching...
No Matches
sw_maze_create_state.h
Go to the documentation of this file.
1
#ifndef SW_MAZE_CREATE_STATE_H
2
#define SW_MAZE_CREATE_STATE_H
3
4
#include <
MazeBuilder/create_contract.h
>
5
#include <
MazeBuilder/resource_identifiers.h
>
6
#include <
MazeBuilder/state.h
>
7
8
#include <string_view>
9
#include <string>
10
13
namespace
mazes
14
{
15
class
args;
16
class
configurator;
17
class
randomizer;
18
class
runtime_stack;
19
struct
context;
20
22
class
sw_maze_create_state
final :
public
create_contract
,
public
state
23
{
24
public
:
25
explicit
sw_maze_create_state
(
const
runtime_app::context
&ctx,
runtime_stack
*rs);
26
27
std::string_view create(
const
configurator
&config,
randomizer
&rng)
noexcept
override
;
28
29
void
draw()
const
noexcept
override
;
30
35
bool
update
(
const
std::optional<args> &
args
,
double
delta_time)
noexcept
override
;
36
37
private
:
44
std::string_view create_sw_maze(
unsigned
int
rows,
unsigned
int
cols,
unsigned
int
levels,
45
randomizer
&rng)
noexcept
;
46
47
grid_manager
*grid_mapper;
48
processed_text_manager
*processed_text_mapper;
49
grid_identifier m_grid_id;
50
bool
m_use_distances;
51
int
m_distances_start;
52
int
m_distances_end;
53
std::string m_result;
54
};
55
}
// namespace mazes
56
57
#endif
// SW_MAZE_CREATE_STATE_H
mazes::args
Command-line argument handler with JSON support.
Definition
args.h:19
mazes::configurator
Configuration class for arguments.
Definition
configurator.h:21
mazes::create_contract
Contract for the create function in the runtime.
Definition
create_contract.h:16
mazes::randomizer
Provides random-number generating capabilities.
Definition
randomizer.h:15
mazes::resource_management< grid_interface, grid_identifier >
mazes::runtime_stack
Class representing the runtime stack of states in the maze builder application.
Definition
runtime_stack.h:23
mazes::sw_maze_create_state
State for creating a maze using the sidewinder algorithm.
Definition
sw_maze_create_state.h:23
mazes::sw_maze_create_state::update
bool update(const std::optional< args > &args, double delta_time) noexcept override
Update the state with the given arguments and elapsed time.
create_contract.h
resource_identifiers.h
state.h
mazes::runtime_app::context
struct representing the context passed to states in the runtime_app stack
Definition
runtime_app.h:34
mazes::state
struct representing a state in the runtime stack
Definition
state.h:18
include
MazeBuilder
sw_maze_create_state.h
Generated by
1.12.0