#include #include "Client.h" #include "Network.h" #include "Graphics/UIRenderer.h" #include "Graphics/Graphics.h" #include namespace Artifact { void Client::init() { window = subsystem(); for (auto & system : subsystems) { system->client = this; system->init(); system->reload(); } } void Client::render() { for (auto & system : subsystems) { system->render(); } } void Client::run() { init(); auto time = std::chrono::steady_clock::now(); while (!window->shouldClose()) { auto now = std::chrono::steady_clock::now(); if (time - now > std::chrono::milliseconds(50)) { tick(); } render(); } } void Client::tick() { for (auto & system : subsystems) { system->tick(); } } void Client::addDefaultSubsystems() { addSubsystem(1080, 640, "Artifact Engine"); addSubsystem(); auto graphics = addSubsystem(); { graphics->addSubsystem(); } } }