#ifndef dungeon_data_H #define dungeon_data_H #include "core/resource.h" #include "core/vector.h" #include "core/math/vector2.h" #include "../main/biome.h" #include "dungeon_data.h" #include "world_generator_prop_data.h" #include "../../world/environment_data.h" #include "../../../entity_spell_system/entities/data/entity_data.h" class BiomeData : public Resource { GDCLASS(BiomeData, Resource); public: Vector2 get_level_range(); void set_level_range(Vector2 value); Vector2 get_humidity_range(); void set_humidity_range(Vector2 range); Vector2 get_temperature_range(); void set_temperature_range(Vector2 range); //DungeonData Ref get_dungeon_data(const int index) const; void set_dungeon_data(const int index, const Ref dungeon_data); void add_dungeon_data(const Ref dungeon_data); void remove_dungeon_data(const int index); int get_dungeon_data_count() const; Vector get_dungeon_datas(); void set_dungeon_datas(const Vector &dungeon_datas); //WorldGeneratorPropData Ref get_prop_data(const int index) const; void set_prop_data(const int index, const Ref prop_data); void add_prop_data(const Ref prop_data); void remove_prop_data(const int index); int get_prop_data_count() const; Vector get_prop_datas(); void set_prop_datas(const Vector &prop_datas); //Entities Ref get_entity_data(const int index) const; void set_entity_data(const int index, const Ref entity_data); void add_entity_data(const Ref entity_data); void remove_entity_data(const int index); int get_entity_data_count() const; Vector get_entity_datas(); void set_entity_datas(const Vector &entity_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_biome(int seed); BiomeData(); ~BiomeData(); protected: static void _bind_methods(); private: Vector2 _level_range; Vector2 _humidity_range; Vector2 _temperature_range; Vector > _dungeon_datas; Vector > _prop_datas; Vector > _entity_datas; Vector > _environment_datas; }; #endif