Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
InfinityEngine.hpp
1#pragma once
2
3#include <Infinity/api.h>
4#include <Infinity/Engine/InfinityCore.hpp>
5
6#include <future>
7#include <memory>
8
9namespace Infinity::Engine {
10
11// Forward-declare
12class InfinityEngineImpl;
13
26class INFINITY_API_PUBLIC InfinityEngine {
27 public:
34
41
47 InfinityEngine(const std::filesystem::path& coreFilepath);
48
53
62 std::vector<std::shared_ptr<Infinity::Procedural::ProceduralSystem>> rootSystems() const;
63
72 std::vector<std::shared_ptr<Infinity::Procedural::ProceduralSystem>> allSystems() const;
73
80 std::shared_ptr<Infinity::Procedural::ProceduralSystem> system(const std::string& path) const;
81
82 private:
83 std::unique_ptr<InfinityEngineImpl> _impl;
84
85 friend class InfinityEngineImpl;
86};
87
88}
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
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