IsoEngine/src/IsoEngine.cpp

62 lines
1.2 KiB
C++
Raw Normal View History

2024-09-09 02:50:07 -06:00
#include "IsoEngine.h"
#include "components.h"
#include <raylib.h>
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();
}