2 #include "../../assets/reader/src/AssetCache.hpp"
3 #include "../../network/src/api/Types.hpp"
4 #include "../bindings/imgui_impl_glfw.h"
5 #include "../bindings/imgui_impl_vulkan.h"
10 #include <unordered_map>
30 RehtiGui(VkInstance instance, VkPhysicalDevice gpu, VkDevice logDevice, GLFWwindow* pWindow, VkQueue graphicsQueue, VkDescriptorPool descPool, uint32_t imageCount, VkRenderPass renderPass, std::shared_ptr<GraphicsObjectManager> pGfxManager);
88 void setSkills(std::vector<Skill> skills);
UiTab
Definition: RehtiGui.hpp:17
@ Inventory
Definition: RehtiGui.hpp:18
@ Skills
Definition: RehtiGui.hpp:20
@ Equipment
Definition: RehtiGui.hpp:19
Loads all of the assets into memory (objects, textures, etc.).
Definition: AssetCache.hpp:17
Graphics object manager manages different types of objects that have memory and can be drawn.
Definition: GraphicsObjectManager.hpp:18
Class that manages the GUI window.
Definition: RehtiGui.hpp:27
std::mutex invMutexM
Definition: RehtiGui.hpp:154
AssetCache & assetCacheM
Definition: RehtiGui.hpp:162
std::vector< GameItem > inventoryM
Definition: RehtiGui.hpp:148
int windowWidthM
Definition: RehtiGui.hpp:158
ImVec2 iconSizeM
Definition: RehtiGui.hpp:160
VkQueue graphicsQueueM
Definition: RehtiGui.hpp:137
bool LoadTextureFromImageData(const int id, ImageData &imgData)
Load texture from ImageData and save it to member map guiIconsM with key id.
Definition: RehtiGui.cpp:33
VkSampler samplerM
Definition: RehtiGui.hpp:138
void uploadEnded()
Definition: RehtiGui.cpp:141
void setHp(int hp)
Set hp of player.
Definition: RehtiGui.cpp:247
void drawEquipmentSlot(int index)
Helper function for a single equipment slot.
Definition: RehtiGui.cpp:306
VkDescriptorPool descPoolM
Definition: RehtiGui.hpp:135
void newFrame()
Definition: RehtiGui.cpp:146
std::unordered_map< int, VkDescriptorSet > guiIconsM
Definition: RehtiGui.hpp:166
void drawEquipment()
Draws equipment tab to GUI window.
Definition: RehtiGui.cpp:321
void drawInventory()
Draws inventory tab to GUI window.
Definition: RehtiGui.cpp:252
void recordGuiData(VkCommandBuffer cmdBuff)
Records ui primitives into the given command buffer.
Definition: RehtiGui.cpp:199
int windowHeightM
Definition: RehtiGui.hpp:159
void addDropItemCallback(std::function< void(const int id)> callback)
Adds callback function for dropping an item in inventory.
Definition: RehtiGui.cpp:214
std::mutex equipmentMutexM
Definition: RehtiGui.hpp:155
void setEquipment(std::vector< GameItem > equipment)
Set contents of player's equipment.
Definition: RehtiGui.cpp:235
int hpM
Definition: RehtiGui.hpp:152
UiTab openTabM
Definition: RehtiGui.hpp:142
void uploadFonts(VkCommandBuffer cmdBuffer)
Definition: RehtiGui.cpp:136
std::vector< GameItem > & getEquipment()
Get reference to the player's equipment vector.
Definition: RehtiGui.cpp:230
void setSkills(std::vector< Skill > skills)
Set skills of player.
Definition: RehtiGui.cpp:241
void addInventoryItemClickCallback(std::function< void(const int id)> callback)
Adds callback function for clicking an item in inventory.
Definition: RehtiGui.cpp:209
~RehtiGui()
Definition: RehtiGui.cpp:128
std::function< void(const int id)> inventoryItemClickCallbackM
Definition: RehtiGui.hpp:144
void addEquipmentItemClickCallback(std::function< void(const int id)> callback)
Adds callback function for clicking and item in equipment.
Definition: RehtiGui.cpp:219
std::mutex skillsMutexM
Definition: RehtiGui.hpp:156
std::function< void(const int id)> equipmentItemClickCallbackM
Definition: RehtiGui.hpp:146
std::shared_ptr< GraphicsObjectManager > pGraphicsObjectManagerM
Definition: RehtiGui.hpp:140
VkDevice logDeviceM
Definition: RehtiGui.hpp:134
void setInventory(std::vector< GameItem > inventory)
Set contents of player's inventory.
Definition: RehtiGui.cpp:224
std::function< void(const int id)> dropItemCallbackM
Definition: RehtiGui.hpp:145
std::vector< Skill > skillsM
Definition: RehtiGui.hpp:150
bool LoadTextureFromFile(const char *filename, const int id)
Load texture from file and save it to member map guiIconsM with key id.
Definition: RehtiGui.cpp:7
void startRender()
Starts rendering ui primitives. Must be called at the top of draw function.
Definition: RehtiGui.cpp:204
void drawSkills()
Draws skills tab to GUI window.
Definition: RehtiGui.cpp:358
std::vector< GameItem > equipmentM
Definition: RehtiGui.hpp:149
RehtiGui(VkInstance instance, VkPhysicalDevice gpu, VkDevice logDevice, GLFWwindow *pWindow, VkQueue graphicsQueue, VkDescriptorPool descPool, uint32_t imageCount, VkRenderPass renderPass, std::shared_ptr< GraphicsObjectManager > pGfxManager)
Definition: RehtiGui.cpp:47
Definition: BasicTypes.hpp:161