62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
#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();
|
|
}
|