minor refactor
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user