fix state representation not being updated when toggling restricted movement
This commit is contained in:
@ -272,6 +272,8 @@ public:
|
|||||||
|
|
||||||
auto ToggleTarget(int x, int y) -> bool;
|
auto ToggleTarget(int x, int y) -> bool;
|
||||||
|
|
||||||
|
auto ToggleRestricted() -> void;
|
||||||
|
|
||||||
auto MoveBlockAt(int x, int y, Direction dir) -> bool;
|
auto MoveBlockAt(int x, int y, Direction dir) -> bool;
|
||||||
|
|
||||||
auto GetNextStates() const -> std::vector<State>;
|
auto GetNextStates() const -> std::vector<State>;
|
||||||
|
|||||||
@ -162,6 +162,11 @@ auto State::ToggleTarget(int x, int y) -> bool {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto State::ToggleRestricted() -> void {
|
||||||
|
restricted = !restricted;
|
||||||
|
state.replace(0, 1, restricted ? "R" : "F");
|
||||||
|
}
|
||||||
|
|
||||||
auto State::MoveBlockAt(int x, int y, Direction dir) -> bool {
|
auto State::MoveBlockAt(int x, int y, Direction dir) -> bool {
|
||||||
Block block = GetBlock(x, y);
|
Block block = GetBlock(x, y);
|
||||||
if (!block.IsValid()) {
|
if (!block.IsValid()) {
|
||||||
|
|||||||
@ -266,7 +266,7 @@ auto main(int argc, char *argv[]) -> int {
|
|||||||
} else if (IsKeyPressed(KEY_O)) {
|
} else if (IsKeyPressed(KEY_O)) {
|
||||||
renderer.connect_solutions = !renderer.connect_solutions;
|
renderer.connect_solutions = !renderer.connect_solutions;
|
||||||
} else if (IsKeyPressed(KEY_F)) {
|
} else if (IsKeyPressed(KEY_F)) {
|
||||||
current_state.restricted = !current_state.restricted;
|
current_state.ToggleRestricted();
|
||||||
previous_state = clear_masssprings(masssprings, current_state);
|
previous_state = clear_masssprings(masssprings, current_state);
|
||||||
edited = true;
|
edited = true;
|
||||||
} else if (IsKeyPressed(KEY_T)) {
|
} else if (IsKeyPressed(KEY_T)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user