VoxelEngine/src/logic/EngineController.hpp
2024-12-18 04:13:33 +03:00

38 lines
958 B
C++

#pragma once
#include <string>
#include <vector>
class Engine;
class World;
class LevelController;
class EngineController {
Engine& engine;
public:
EngineController(Engine& engine);
/// @brief Load world, convert if required and set to LevelScreen.
/// @param name world name
/// @param confirmConvert automatically confirm convert if requested
void openWorld(const std::string& name, bool confirmConvert);
/// @brief Show world removal confirmation dialog
/// @param name world name
void deleteWorld(const std::string& name);
void reconfigPacks(
LevelController* controller,
const std::vector<std::string>& packsToAdd,
const std::vector<std::string>& packsToRemove
);
void createWorld(
const std::string& name,
const std::string& seedstr,
const std::string& generatorID
);
void reopenWorld(World* world);
};