29 lines
896 B
C++
29 lines
896 B
C++
#pragma once
|
|
|
|
#include "entt.hpp"
|
|
#include <string>
|
|
|
|
class ModelManager;
|
|
class ShaderManager;
|
|
class TextureManager;
|
|
class AssetManager;
|
|
|
|
|
|
// Set global context used by scene loading
|
|
void SetSceneContext(entt::registry* registry, ModelManager* modelManager, ShaderManager* shaderManager, TextureManager* textureManager);
|
|
void SetSceneAssetManager(AssetManager* assetManager);
|
|
|
|
// Load a scene from a TOML-like file. Returns the root entity (or entt::null on failure).
|
|
entt::entity LoadSceneFromFile(const std::string& path, bool clearExisting);
|
|
|
|
// Save the current scene to a TOML-like file. Returns true on success.
|
|
bool SaveSceneToFile(const std::string& path);
|
|
|
|
// Clear all entities from the registry
|
|
void ClearScene();
|
|
|
|
// Scene script path helpers
|
|
void SetSceneScriptPath(const std::string& path);
|
|
const std::string& GetSceneScriptPath();
|
|
bool ConsumeSceneScriptPath(std::string& outPath);
|