Implement framework for menu system
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
e846c61c53
commit
3cbb0d1e17
18
Crawler/Menu.h
Normal file
18
Crawler/Menu.h
Normal file
@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
#include "MenuButton.h"
|
||||
#include "olcPixelGameEngine.h"
|
||||
#include <stack>
|
||||
|
||||
class Crawler;
|
||||
|
||||
class Menu{
|
||||
std::stack<Menu*>*stack=nullptr;
|
||||
std::vector<MenuButton>buttons;
|
||||
vf2d size; //Size in tiles (24x24), every menu will be tile-based
|
||||
|
||||
Menu();
|
||||
void AddButton(vf2d pos);
|
||||
void Update(float fElapsedTime);
|
||||
void Draw(Crawler*game);
|
||||
};
|
||||
|
17
Crawler/MenuButton.h
Normal file
17
Crawler/MenuButton.h
Normal file
@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
#include "olcPixelGameEngine.h"
|
||||
#include <functional>
|
||||
|
||||
class Menu;
|
||||
class Crawler;
|
||||
|
||||
class MenuButton{
|
||||
Menu*menuDest;
|
||||
vf2d size;
|
||||
std::string label;
|
||||
Decal*icon;
|
||||
std::function<void()>onClick;
|
||||
|
||||
void Update(float fElapsedTime);
|
||||
void Draw(Crawler*game);
|
||||
};
|
BIN
Crawler/assets/RetroMenu.png
Normal file
BIN
Crawler/assets/RetroMenu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
Loading…
x
Reference in New Issue
Block a user