porymap/include/ui/prefab.h

41 lines
890 B
C
Raw Normal View History

2022-09-06 02:51:31 +01:00
#ifndef PREFAB_H
#define PREFAB_H
#include "ui/metatileselector.h"
#include "map.h"
#include <QString>
#include <QLabel>
#include <QUuid>
2022-09-06 02:51:31 +01:00
struct PrefabItem
{
QUuid id;
2022-09-06 02:51:31 +01:00
QString name;
QString primaryTileset;
QString secondaryTileset;
MetatileSelection selection;
};
class Prefab
{
public:
void initPrefabUI(MetatileSelector *selector, QWidget *prefabWidget, QLabel *emptyPrefabLabel, Map *map);
void addPrefab(MetatileSelection selection, Map *map, QString name);
void updatePrefabUi(Map *map);
void tryImportDefaultPrefabs(Map *map);
2022-09-06 02:51:31 +01:00
private:
MetatileSelector *selector;
QWidget *prefabWidget;
QLabel *emptyPrefabLabel;
2022-09-06 02:51:31 +01:00
QList<PrefabItem> items;
void loadPrefabs();
void savePrefabs();
2022-09-06 02:51:31 +01:00
QList<PrefabItem> getPrefabsForTilesets(QString primaryTileset, QString secondaryTileset);
};
extern Prefab prefab;
#endif // PREFAB_H