diff options
Diffstat (limited to 'game/menu.cpp')
-rw-r--r-- | game/menu.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/game/menu.cpp b/game/menu.cpp new file mode 100644 index 0000000..76913b5 --- /dev/null +++ b/game/menu.cpp @@ -0,0 +1,29 @@ +#include "menu.h" + +void Menu::close () { + active = false; +} + +void Menu::open (vec2 res) { + active = true; + pos = vec2 { (float)res.x, (float)res.y }; + float height = options.size() * 20; + size = vec2 { 120, height+10 }; + pos *= 0.5f; + pos -= size/2; +} + +int Menu::mouse_option (vec2 mouse) { + int i=0; + for (Option opt : options) { + vec2 off { 10, 10.0f + i*20 }; + vec2 sizeopt { 100, 20 }; + off += pos; + if (off.x < mouse.x && mouse.x < off.x+sizeopt.x + && off.y < mouse.y && mouse.y < off.y+sizeopt.y ) { + return opt.id; + } + i++; + } + return -1; +}
\ No newline at end of file |