MCPcopy Create free account
hub / github.com/davemoore22/sorcery / _turn_left

Method _turn_left

src/engine/engine.cpp:733–765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

731 _ctx.controller->set_flag("after_tile_message");
732 _ctx.controller->set_last_event(event_type);
733 _ctx.ui->message_tile->show = true;
734 }
735 }
736
737 _ctx.controller->set_last_dir(Enums::Map::Direction::SOUTH);
738
739 return true;
740 } else
741 return false;
742}
743
744auto Sorcery::Engine::_turn_left() -> void {
745
746 switch (_ctx.game->state->get_player_facing()) {
747 using enum Enums::Map::Direction;
748 case NORTH:
749 _ctx.game->state->set_player_facing(WEST);
750 break;
751 case SOUTH:
752 _ctx.game->state->set_player_facing(EAST);
753 break;
754 case EAST:
755 _ctx.game->state->set_player_facing(NORTH);
756 break;
757 case WEST:
758 _ctx.game->state->set_player_facing(SOUTH);
759 break;
760 default:
761 break;
762 }
763
764 _ctx.controller->set_last_dir(Enums::Map::Direction::WEST);
765 _ctx.controller->set_can_undo(false);
766
767 const auto at{_ctx.game->state->get_player_pos()};
768 if (_ctx.game->state->level->at(at).has_spinner()) {

Callers

nothing calls this directly

Calls 8

get_player_facingMethod · 0.80
set_player_facingMethod · 0.80
set_last_dirMethod · 0.80
set_can_undoMethod · 0.80
get_player_posMethod · 0.80
has_spinnerMethod · 0.80
get_randomMethod · 0.80
atMethod · 0.45

Tested by

no test coverage detected