3#include <Infinity/api.h>
4#include <Infinity/Engine/InfinityCore.hpp>
12class InfinityEngineImpl;
62 std::vector<std::shared_ptr<Infinity::Procedural::ProceduralSystem>>
rootSystems()
const;
72 std::vector<std::shared_ptr<Infinity::Procedural::ProceduralSystem>>
allSystems()
const;
80 std::shared_ptr<Infinity::Procedural::ProceduralSystem>
system(
const std::string& path)
const;
83 std::unique_ptr<InfinityEngineImpl> _impl;
85 friend class InfinityEngineImpl;
Interface for loading and accessing procedural generation systems from .infinitycore files.
Definition InfinityCore.hpp:25
Main entry point to the InfinityEngine API for procedural generation.
Definition InfinityEngine.hpp:26
~InfinityEngine()
Destructor.
std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > rootSystems() const
Retrieves all root-level ProceduralSystems in the loaded core.
InfinityEngine(const std::filesystem::path &coreFilepath)
Constructs an InfinityEngine and loads the specified .infinitycore file.
std::shared_ptr< Infinity::Procedural::ProceduralSystem > system(const std::string &path) const
Retrieves a specific ProceduralSystem by its path identifier.
InfinityEngine()
Default constructor.
InfinityEngine(InfinityCore &&core)
Constructs an InfinityEngine by moving an existing InfinityCore.
std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > allSystems() const
Retrieves all ProceduralSystems in the loaded core.
Definition BaseException.hpp:9