Cleaned up a lot but now trying to refactor some more but making a mistake.
This commit is contained in:
parent
4b18b21861
commit
b0437d352b
2 changed files with 4 additions and 7 deletions
10
gui.cpp
10
gui.cpp
|
@ -45,7 +45,6 @@ namespace gui {
|
|||
void FSM::MOVING(Event ) {
|
||||
if($camera.play_move($rayview)) {
|
||||
// really annoying but we have to figure out the motion factor then run the systems
|
||||
auto &level = $levels.current();
|
||||
auto& player = level.world->get_the<Player>();
|
||||
auto& player_position = level.world->get<Position>(player.entity);
|
||||
auto& motion = level.world->get<Motion>(player.entity);
|
||||
|
@ -72,7 +71,7 @@ namespace gui {
|
|||
case FU::QUIT:
|
||||
$window.close();
|
||||
state(State::END);
|
||||
break;
|
||||
return; // done
|
||||
case FU::MOVE_FORWARD:
|
||||
$camera.plan_run($rayview, 1);
|
||||
state(State::MOVING);
|
||||
|
@ -93,16 +92,15 @@ namespace gui {
|
|||
$camera.plan_rotate($rayview, 1);
|
||||
state(State::ROTATING);
|
||||
return; // get out early since can always rotate
|
||||
break; // need this?
|
||||
case FU::ROTATE_RIGHT:
|
||||
$camera.plan_rotate($rayview, -1);
|
||||
state(State::ROTATING);
|
||||
return; // get out early since can always rotate
|
||||
break; // need this?
|
||||
default:
|
||||
dbc::sentinel("unhandled event in IDLE");
|
||||
}
|
||||
|
||||
// prevent moving into occupied space
|
||||
if(!can_move({size_t($camera.targetX), size_t($camera.targetY)})) {
|
||||
state(State::IDLE);
|
||||
$camera.abort_plan($rayview);
|
||||
|
@ -110,7 +108,6 @@ namespace gui {
|
|||
}
|
||||
|
||||
bool FSM::can_move(Point move_to) {
|
||||
auto& level = $levels.current();
|
||||
return level.map->can_move(move_to) && !level.collision->occupied(move_to);
|
||||
}
|
||||
|
||||
|
@ -210,7 +207,7 @@ namespace gui {
|
|||
}
|
||||
|
||||
void FSM::generate_map() {
|
||||
auto& level = $levels.current();
|
||||
level = $levels.current();
|
||||
auto& player = level.world->get_the<Player>();
|
||||
auto& player_position = level.world->get<Position>(player.entity);
|
||||
$player = player_position.location;
|
||||
|
@ -218,7 +215,6 @@ namespace gui {
|
|||
}
|
||||
|
||||
void FSM::run_systems() {
|
||||
auto& level = $levels.current();
|
||||
System::motion(level);
|
||||
System::enemy_pathing(level);
|
||||
System::collision(level);
|
||||
|
|
1
gui.hpp
1
gui.hpp
|
@ -29,6 +29,7 @@ namespace gui {
|
|||
|
||||
class FSM : public DeadSimpleFSM<State, Event> {
|
||||
public:
|
||||
GameLevel level;
|
||||
float $rotation = -30.0f;
|
||||
Point $player{0,0};
|
||||
LevelManager $levels;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue