minor refactor

This commit is contained in:
MihailRis
2023-12-30 00:02:17 +03:00
parent e7e7bbbe59
commit d2ace01c07
2 changed files with 7 additions and 9 deletions
+3 -6
View File
@@ -9,18 +9,15 @@
LevelController::LevelController(EngineSettings& settings, Level* level) LevelController::LevelController(EngineSettings& settings, Level* level)
: settings(settings), level(level) { : settings(settings), level(level) {
blocks = new BlocksController(level, settings.chunks.padding); blocks = std::make_unique<BlocksController>(level, settings.chunks.padding);
chunks = new ChunksController(level, settings.chunks.padding); chunks = std::make_unique<ChunksController>(level, settings.chunks.padding);
player = new PlayerController(level, settings, blocks); player = std::make_unique<PlayerController>(level, settings, blocks.get());
scripting::on_world_load(level); scripting::on_world_load(level);
} }
LevelController::~LevelController() { LevelController::~LevelController() {
scripting::on_world_quit(); scripting::on_world_quit();
delete player;
delete chunks;
delete blocks;
} }
void LevelController::update(float delta, bool input, bool pause) { void LevelController::update(float delta, bool input, bool pause) {
+4 -3
View File
@@ -1,6 +1,7 @@
#ifndef LOGIC_LEVEL_CONTROLLER_H_ #ifndef LOGIC_LEVEL_CONTROLLER_H_
#define LOGIC_LEVEL_CONTROLLER_H_ #define LOGIC_LEVEL_CONTROLLER_H_
#include <memory>
#include "../settings.h" #include "../settings.h"
class Level; class Level;
@@ -13,9 +14,9 @@ class LevelController {
EngineSettings& settings; EngineSettings& settings;
Level* level; Level* level;
// Sub-controllers // Sub-controllers
BlocksController* blocks; std::unique_ptr<BlocksController> blocks;
ChunksController* chunks; std::unique_ptr<ChunksController> chunks;
PlayerController* player; std::unique_ptr<PlayerController> player;
public: public:
LevelController(EngineSettings& settings, Level* level); LevelController(EngineSettings& settings, Level* level);
~LevelController(); ~LevelController();