introduce local player

This commit is contained in:
MihailRis
2025-01-16 05:59:43 +03:00
parent b5999fe364
commit 65fec4f4a9
16 changed files with 84 additions and 31 deletions
+8 -5
View File
@@ -36,9 +36,10 @@
static debug::Logger logger("level-screen");
LevelScreen::LevelScreen(Engine& engine, std::unique_ptr<Level> levelPtr)
: Screen(engine), postProcessing(std::make_unique<PostProcessing>())
{
LevelScreen::LevelScreen(
Engine& engine, std::unique_ptr<Level> levelPtr, int64_t localPlayer
)
: Screen(engine), postProcessing(std::make_unique<PostProcessing>()) {
Level* level = levelPtr.get();
auto& settings = engine.getSettings();
@@ -46,7 +47,9 @@ LevelScreen::LevelScreen(Engine& engine, std::unique_ptr<Level> levelPtr)
auto menu = engine.getGUI()->getMenu();
menu->reset();
auto player = level->players->get(0);
auto player = level->players->get(localPlayer);
assert(player != nullptr);
controller =
std::make_unique<LevelController>(&engine, std::move(levelPtr), player);
playerController = std::make_unique<PlayerController>(
@@ -173,6 +176,7 @@ void LevelScreen::update(float delta) {
updateHotkeys();
}
auto level = controller->getLevel();
auto player = playerController->getPlayer();
auto camera = player->currentCamera;
@@ -189,7 +193,6 @@ void LevelScreen::update(float delta) {
camera->dir,
glm::vec3(0, 1, 0)
);
auto level = controller->getLevel();
const auto& settings = engine.getSettings();
if (!hud->isPause()) {