From 3bfc51ee2ce8931ce0ef6952e1bfc0d2f52e30cf Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Sun, 19 Jan 2025 02:05:56 +0500 Subject: feat: basic screen manager --- src/main.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 36ceb19..ad854a8 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,9 @@ #include "editor.h" #include "level.h" #include "raylib.h" +#include "screens.h" + +typedef enum GameScreen { SCREEN_MENU = 0, SCREEN_EDITOR } GameScreen; int main() { SetConfigFlags(FLAG_WINDOW_RESIZABLE); @@ -18,30 +21,21 @@ int main() { camera.rotation = 0.0f; camera.zoom = 4.0f; - while (!WindowShouldClose()) { - if (GetMouseWheelMove() != 0.0) { - camera.zoom += (int)GetMouseWheelMove(); - - if (camera.zoom > 6.0f) - camera.zoom = 6.0f; - else if (camera.zoom < 4.0f) - camera.zoom = 4.0f; - } + GameScreen currentScreen = SCREEN_MENU; - if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) { - Vector2 mousePos = GetMouseDelta(); - camera.target.x -= mousePos.x / 5.0f; - camera.target.y -= mousePos.y / 5.0f; + while (!WindowShouldClose()) { + switch (currentScreen) { + case SCREEN_MENU: { + SE_DrawMenuScreen(); + break; + } + case SCREEN_EDITOR: { + SE_DrawEditorScreen(&editor, &camera); + break; + } + default: + break; } - - BeginDrawing(); - ClearBackground(RAYWHITE); - - BeginMode2D(camera); - SE_DrawEditor(&editor, &camera); - EndMode2D(); - - EndDrawing(); } SE_FreeLevel(level); -- cgit v1.2.3