move PlayerController to LevelScreen

This commit is contained in:
MihailRis
2024-12-11 23:42:59 +03:00
parent 9adaf6d527
commit 863146cf6b
7 changed files with 66 additions and 64 deletions
+8 -3
View File
@@ -10,6 +10,7 @@
#include "voxels/Block.hpp"
#include "world/Level.hpp"
#include "window/Camera.hpp"
#include "objects/Player.hpp"
#include "objects/Players.hpp"
#include "logic/LevelController.hpp"
#include "util/stringutil.hpp"
@@ -29,13 +30,17 @@ inline constexpr int ITERATIONS = 512;
inline constexpr int BIG_PRIME = 666667;
Decorator::Decorator(
Engine& engine, LevelController& controller, WorldRenderer& renderer, const Assets& assets
Engine& engine,
LevelController& controller,
WorldRenderer& renderer,
const Assets& assets,
Player& player
)
: engine(engine),
level(*controller.getLevel()),
renderer(renderer),
assets(assets),
player(*controller.getPlayer()) {
player(player) {
controller.getBlocksController()->listenBlockInteraction(
[this](auto player, const auto& pos, const auto& def, BlockInteraction type) {
if (type == BlockInteraction::placing && def.particles) {
@@ -43,7 +48,7 @@ Decorator::Decorator(
}
});
for (const auto& [id, player] : *level.players) {
if (id == controller.getPlayer()->getId()) {
if (id == this->player.getId()) {
continue;
}
playerTexts[id] = renderer.texts->add(std::make_unique<TextNote>(