#pragma once #include "Dialog.h" #include #include #include #include "../../Karte/EditorKarte.h" #include enum ResourceDialogType { MODEL2D = 1, // es werden Pfade für Model2D Objekte angezeigt TEXTUR = 2, // es werden Pfade für Bilder angezeigt ALLOW_RESOURCES = 4, // Es werden Pfade angezeigt, die bereits in einer Resource gespeichert sind SELECT_OLD_Model2D = 5, // kombiniert MODEL2D und ALLOW_RESOURCES SELECT_OLD_Textur = 6, // Kombiniert TEXTUR und ALLOW_RESOURCES ALLOW_NEW_RESOURCES = 8, // Es werden Pfade angezeigt, die noch nicht in einer Resource gespeichert sind SELECT_NEW_MODEL2D = 9, // kombiniert MODEL2D und ALLOW_NEW_RESOURCES SELECT_NEW_TEXTUR = 10, // kombiniert TEXTUR und ALLOW_NEW_RESOURCES SELECT_MODEL2D = 13, // kombiniert MODEL2D, ALLOW_RESOURCES und ALLOW_NEW_RESOURCES SELECT_TEXTUR = 14, // kombiniert TEXTUR, ALLOW_RESOURCES und ALLOW_NEW_RESOURCES }; class ResourceDialog : public Dialog { private: AuswahlBox *paths; M2DVorschau *m2v; Editor::KarteDaten *daten; BildZ *bv; public: // Konstructor // tr: Ein Zeiger auf den zu verwendenden TextRenderer // typ: Beschreibt was der nutzer alles auswählen kann // daten: Ein Zeiger auf die Karte, welche alle möglichen resouren enthält // onClose: Eine Funktion die aufgerufen wird, sobald der Dialog geschlossen wird. Es wird der ausgewählte Pfad oder 0 übergeben. // screenSize: Die größe des Bildschirms zum positionieren des dialogs ResourceDialog( TextRenderer *tr, ResourceDialogType typ, Editor::KarteDaten *daten, std::function< void( const char *path ) > onClose, Punkt screenSize ); // Destruktor ~ResourceDialog(); };