This repository contains set of Systems
for solve a specific task.
The provided Systems
are not standalone and are designed for use with the HelenaFramework
.
Systems | Description |
---|---|
PluginManager |
Runtime (dll/so) plugins manager without abstraction |
ResourceManager |
Storage for resources from data |
ECSManager |
System wrapper of EnTT |
NetworkManager |
RUDP network manager |
Usage:
1) Select a System
folder from the list and copy to your project.
2) Include header in your code.
3) Use HelenaFramework
for register or get system.
Example:
#include <Helena/Engine/Engine.hpp>
#include <MyProject/Systems/ResourceManager/ResourceManager.hpp>
int main(int argc, char** argv)
{
Helena::Engine::Context::Initialize(); // Initialize Context (Context used in Engine)
Helena::Engine::Context::SetMain([]() { // Register systems happen in this callback
// Register all used systems
Helena::Engine::RegisterSystem<Helena::Systems::ResourceManager>();
// Now we can get the system from anywhere
auto& resManager = Helena::Engine::GetSystem<Helena::Systems::ResourceManager>();
});
// Engine loop
while(Helena::Engine::Heartbeat()) {}
return 0;
}
Note: You can add your implementations that solve a specific task to this repository.
License: TheSystems
developed byNIKEA-SOFT
are licensed byMIT
.
Libraries not owned by the developerNIKEA-SOFT
contain their own license agreement.
By usingSystems
that are implemented usingDependencies
libraries,
you agree to the agreements of the authors of theDependencies
libraries and our agreement.