#include "IsoEngine.h" #include "components.h" #include IsoEngine::IsoEngine(int screenWidth, int screenHeight, Network* network) : screenWidth(screenWidth), screenHeight(screenHeight), network(network), sceneManager(registry) {} IsoEngine::~IsoEngine() { Shutdown(); } void IsoEngine::Initialize() { InitWindow(screenWidth, screenHeight, "IsoEngine Game"); SetTargetFPS(60); if (network) { network->Initialize(); } std::cout << "Engine initialized." << std::endl; } void IsoEngine::Run() { while (isRunning && !WindowShouldClose()) { Update(); Render(); if (network) { network->ReceiveData(); } } } void IsoEngine::Shutdown() { sceneManager.RenderActiveScene(); CloseWindow(); if (network) { network->Shutdown(); } std::cout << "Engine shut down." << std::endl; } void IsoEngine::Update() { if (IsKeyPressed(KEY_ESCAPE)) { isRunning = false; } sceneManager.UpdateActiveScene(); } void IsoEngine::Render() { BeginDrawing(); ClearBackground(RAYWHITE); sceneManager.RenderActiveScene(); DrawText("IsoEngine Running!", 10, 10, 20, DARKGRAY); EndDrawing(); }