summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-01-19 02:05:56 +0500
committerilotterytea <iltsu@alright.party>2025-01-19 02:05:56 +0500
commit3bfc51ee2ce8931ce0ef6952e1bfc0d2f52e30cf (patch)
tree89ead1b2a5c670d45a45e46ecc9e4e072c34f71d /src/main.c
parent940e7825753b2a72a253199cb33767e04257dbd4 (diff)
feat: basic screen manager
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c38
1 files changed, 16 insertions, 22 deletions
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);