#ifndef DUNGEON_DATA_H #define DUNGEON_DATA_H #include "core/resource.h" #include "core/vector.h" #include "../main/dungeon.h" #include "dungeon_room_data.h" #include "../../voxelman/world/environment_data.h" class DungeonData : public Resource { GDCLASS(DungeonData, Resource); public: //Rooms Ref get_dungeon_room_data(const int index) const; void set_dungeon_room_data(const int index, const Ref dungeon_room_data); void add_dungeon_room_data(const Ref dungeon_room_data); void remove_dungeon_room_data(const int index); int get_dungeon_room_data_count() const; Vector get_dungeon_room_datas(); void set_dungeon_room_datas(const Vector &dungeon_room_datas); //Environments Ref get_environment_data(const int index) const; void set_environment_data(const int index, const Ref environment_data); void add_environment_data(const Ref environment_data); void remove_environment_data(const int index); int get_environment_data_count() const; Vector get_environment_datas(); void set_environment_datas(const Vector &environment_datas); Ref setup_dungeon(int seed); DungeonData(); ~DungeonData(); protected: static void _bind_methods(); private: Vector > _dungeon_room_datas; Vector > _environment_datas; }; #endif