mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
0a1e70ebaa
* Fix indentation for `actualItemtrackerItemMap`. Abstract equipment, quest item, and song checking for the item tracker. * Simplify `HasSong` Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com> * Rename `HasEqItem` to `HasEquipment`. --------- Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <cstdint>
|
|
#include <libultraship/libultraship.h>
|
|
|
|
void DrawItemAmmo(int itemId);
|
|
|
|
typedef struct ItemTrackerItem {
|
|
uint32_t id;
|
|
std::string name;
|
|
std::string nameFaded;
|
|
uint32_t data;
|
|
void (*drawFunc)(ItemTrackerItem);
|
|
} ItemTrackerItem;
|
|
|
|
bool HasSong(ItemTrackerItem);
|
|
bool HasQuestItem(ItemTrackerItem);
|
|
bool HasEquipment(ItemTrackerItem);
|
|
|
|
#define ITEM_TRACKER_ITEM(id, data, drawFunc) \
|
|
{ \
|
|
id, #id, #id "_Faded", data, drawFunc \
|
|
}
|
|
|
|
typedef struct ItemTrackerDungeon {
|
|
uint32_t id;
|
|
std::vector<uint32_t> items;
|
|
} ItemTrackerDungeon;
|
|
|
|
class ItemTrackerSettingsWindow : public LUS::GuiWindow {
|
|
public:
|
|
using GuiWindow::GuiWindow;
|
|
|
|
protected:
|
|
void InitElement() override {};
|
|
void DrawElement() override;
|
|
void UpdateElement() override {};
|
|
};
|
|
|
|
class ItemTrackerWindow : public LUS::GuiWindow {
|
|
public:
|
|
using GuiWindow::GuiWindow;
|
|
|
|
protected:
|
|
void InitElement() override;
|
|
void DrawElement() override;
|
|
void UpdateElement() override {};
|
|
}; |