Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
InfinityCore.hpp
1#pragma once
2
3#include <Infinity/api.h>
4#include <Infinity/Procedural/ProceduralSystem.hpp>
5#include <Infinity/IO/Filetype.hpp>
6
7#include <memory>
8#include <filesystem>
9
10namespace Infinity::Engine
11{
12 // Forward-declare
13 class InfinityCoreImpl;
14
24 class INFINITY_API_PUBLIC InfinityCore
25 {
26 public:
33
40
46 InfinityCore(const std::filesystem::path& filepath);
47
54 std::shared_ptr<Infinity::Procedural::ProceduralSystem> getSystem(const std::string& path);
55
61 std::string getAssetFolderPath();
62
68 const std::string& getAssetRelativePath();
69
70 private:
71 std::unique_ptr<InfinityCoreImpl> _impl;
72
73 friend class InfinityCoreImpl;
74 };
75
76}
Interface for loading and accessing procedural generation systems from .infinitycore files.
Definition InfinityCore.hpp:25
InfinityCore(InfinityCore &&core)
Move constructor.
InfinityCore(const std::filesystem::path &filepath)
Constructs an InfinityCore and loads the specified .infinitycore file.
std::shared_ptr< Infinity::Procedural::ProceduralSystem > getSystem(const std::string &path)
Retrieves a ProceduralSystem from the loaded core by path.
InfinityCore()
Default constructor.
std::string getAssetFolderPath()
Gets the absolute folder path where assets are stored.
const std::string & getAssetRelativePath()
Gets the relative path to assets within the core.
Definition BaseException.hpp:9