#ifndef PREFAB_H #define PREFAB_H #include "ui/metatileselector.h" #include "map.h" #include #include #include #include struct PrefabItem { QUuid id; QString name; QString primaryTileset; QString secondaryTileset; MetatileSelection selection; }; class Prefab { public: void initPrefabUI(QPointer selector, QPointer prefabWidget, QPointer emptyPrefabLabel, Layout *layout); void addPrefab(MetatileSelection selection, Layout *layout, QString name); void updatePrefabUi(QPointer layout); void clearPrefabUi(); bool tryImportDefaultPrefabs(QWidget * parent, BaseGame::Version version, QString filepath = ""); private: QPointer selector; QPointer prefabWidget; QPointer emptyPrefabLabel; QList items; void loadPrefabs(); void savePrefabs(); QList getPrefabsForTilesets(QString primaryTileset, QString secondaryTileset); }; extern Prefab prefab; #endif // PREFAB_H