voxelcore/src/logic/LevelController.cpp
MihailRis acce49f188
Scripting WIP (#70)
* Scripting introduced

* AppImage workflow fixes

* AppImage workflow simplified

* README.md update

* README.md update

* small fix
2023-12-25 05:26:03 +03:00

30 lines
850 B
C++

#include "LevelController.h"
#include "../world/Level.h"
#include "PlayerController.h"
#include "BlocksController.h"
#include "ChunksController.h"
#include "scripting/scripting.h"
LevelController::LevelController(EngineSettings& settings, Level* level)
: settings(settings), level(level) {
blocks = new BlocksController(level, settings.chunks.padding);
chunks = new ChunksController(level, settings.chunks.padding);
player = new PlayerController(level, settings, blocks);
scripting::on_world_load(level);
}
LevelController::~LevelController() {
scripting::on_world_quit();
delete player;
delete chunks;
}
void LevelController::update(float delta, bool input, bool pause) {
player->update(delta, input, pause);
level->update();
chunks->update(settings.chunks.loadSpeed);
blocks->update(delta);
}