diff --git a/engine/libs/nuklear/raylib-nuklear.h b/engine/libs/nuklear/raylib-nuklear.h index 225632b..7390604 100644 --- a/engine/libs/nuklear/raylib-nuklear.h +++ b/engine/libs/nuklear/raylib-nuklear.h @@ -692,10 +692,12 @@ NK_API void nk_raylib_input_mouse(struct nk_context * ctx) // Mouse Wheel float mouseWheel = GetMouseWheelMove(); if (mouseWheel != 0.0f) { - struct nk_vec2 mouseWheelMove; - mouseWheelMove.x = 0.0f; - mouseWheelMove.y = mouseWheel; - nk_input_scroll(ctx, mouseWheelMove); + if (nk_input_is_mouse_hovering_rect(&ctx->input, ctx->active->bounds)) { + struct nk_vec2 mouseWheelMove; + mouseWheelMove.x = 0.0f; + mouseWheelMove.y = mouseWheel; + nk_input_scroll(ctx, mouseWheelMove); + } } } diff --git a/game/main.c b/game/main.c index f73193e..8ee4437 100644 --- a/game/main.c +++ b/game/main.c @@ -53,15 +53,18 @@ int sizeY = 1; void render(float dt, Game *game) { Camera2D *camera = &game->camera; - if (IsKeyDown(KEY_W)) camera->target.y -= 20; - if (IsKeyDown(KEY_S)) camera->target.y += 20; - if (IsKeyDown(KEY_A)) camera->target.x -= 20; - if (IsKeyDown(KEY_D)) camera->target.x += 20; - if (IsKeyDown(KEY_Q)) camera->rotation--; - if (IsKeyDown(KEY_E)) camera->rotation++; + if (!nk_item_is_any_active(NK)) { + if (IsKeyDown(KEY_W)) camera->target.y -= 20; + if (IsKeyDown(KEY_S)) camera->target.y += 20; + if (IsKeyDown(KEY_A)) camera->target.x -= 20; + if (IsKeyDown(KEY_D)) camera->target.x += 20; - camera->zoom += ((float)GetMouseWheelMove() * 0.05f); + if (IsKeyDown(KEY_Q)) camera->rotation--; + if (IsKeyDown(KEY_E)) camera->rotation++; + + camera->zoom += ((float) GetMouseWheelMove() * 0.05f); + } BeginMode2D(*camera); ClearBackground(RAYWHITE); @@ -91,6 +94,10 @@ void render(float dt, Game *game) { nk_labelf(NK, NK_TEXT_LEFT, "tileX: %d", tileX); nk_labelf(NK, NK_TEXT_LEFT, "tileY: %d", tileY); + static char buf[256] = {}; + nk_edit_string_zero_terminated(NK, NK_EDIT_FIELD, buf, sizeof(buf) - 1, nk_filter_default); + + nk_labelf(NK, NK_TEXT_LEFT, "x: %d", sizeX); nk_labelf(NK, NK_TEXT_LEFT, "y: %d", sizeY); nk_slider_int(NK, 0, &sizeX, 10, 1);