Compare commits

..

2 commits

4 changed files with 10 additions and 12 deletions

View file

@ -202,9 +202,10 @@ void Autowalker::handle_player_walk(ai::State& start, ai::State& goal) {
status(L"USING HEALING");
player_use_healing();
} else if(action.name == "collect_items") {
status(L"COLLECTING ITEMS");
auto paths = path_to_items();
process_move(paths);
send_event(gui::Event::STAIRS_DOWN);
// status(L"COLLECTING ITEMS");
// auto paths = path_to_items();
// process_move(paths);
// path to the items and get them all
} else if(action == ai::FINAL_ACTION) {
close_status();

View file

@ -67,7 +67,7 @@ namespace gui {
void FSM::MOVING(Event ) {
// this should be an optional that returns a point
if(auto move_to = $main_ui.play_move()) {
System::plan_motion(*move_to);
System::move_player(*move_to);
run_systems();
$main_ui.dirty();
state(State::IDLE);

View file

@ -407,15 +407,12 @@ void System::device(World &world, Entity actor, Entity item) {
}
}
void System::plan_motion(Position move_to) {
void System::move_player(Position move_to) {
auto& level = GameDB::current_level();
auto& player_pos = GameDB::player_position();
auto old_pos = level.world->get<Position>(level.player);
player_pos.aiming_at = move_to.aiming_at;
auto& motion = level.world->get<Motion>(level.player);
motion.dx = move_to.location.x - player_pos.location.x;
motion.dy = move_to.location.y - player_pos.location.y;
level.world->set<Position>(level.player, move_to);
level.collision->move(old_pos.location, move_to.location, level.player);
}

View file

@ -23,7 +23,7 @@ namespace System {
void enemy_ai_initialize();
void device(World &world, Entity actor, Entity item);
void plan_motion(Position move_to);
void move_player(Position move_to);
Entity spawn_item(World& world, const string& name);
void drop_item(Entity item);