diff options
| author | ilotterytea <iltsu@alright.party> | 2025-01-19 02:05:56 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-01-19 02:05:56 +0500 |
| commit | 3bfc51ee2ce8931ce0ef6952e1bfc0d2f52e30cf (patch) | |
| tree | 89ead1b2a5c670d45a45e46ecc9e4e072c34f71d /src/main.c | |
| parent | 940e7825753b2a72a253199cb33767e04257dbd4 (diff) | |
feat: basic screen manager
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 38 |
1 files changed, 16 insertions, 22 deletions
@@ -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); |
