Now TerraChunk can store liquid and prop material cache keys aswell.

This commit is contained in:
Relintai 2021-08-07 12:09:41 +02:00
parent f76a7f9df4
commit f59f817ee6
2 changed files with 68 additions and 0 deletions

View File

@ -185,6 +185,34 @@ void TerraChunk::material_cache_key_has_set(const bool value) {
_material_cache_key_has = value;
}
int TerraChunk::liquid_material_cache_key_get() const {
return _liquid_material_cache_key;
}
void TerraChunk::liquid_material_cache_key_set(const int value) {
_liquid_material_cache_key = value;
}
bool TerraChunk::liquid_material_cache_key_has() const {
return _liquid_material_cache_key_has;
}
void TerraChunk::liquid_material_cache_key_has_set(const bool value) {
_liquid_material_cache_key_has = value;
}
int TerraChunk::prop_material_cache_key_get() const {
return _prop_material_cache_key;
}
void TerraChunk::prop_material_cache_key_set(const int value) {
_prop_material_cache_key = value;
}
bool TerraChunk::prop_material_cache_key_has() const {
return _prop_material_cache_key_has;
}
void TerraChunk::prop_material_cache_key_has_set(const bool value) {
_prop_material_cache_key_has = value;
}
Ref<TerramanLibrary> TerraChunk::get_library() {
return _library;
}
@ -1028,6 +1056,12 @@ TerraChunk::TerraChunk() {
_material_cache_key = 0;
_material_cache_key_has = false;
_liquid_material_cache_key = 0;
_liquid_material_cache_key_has = false;
_prop_material_cache_key = 0;
_prop_material_cache_key_has = false;
_current_job = -1;
_world_height = 256;
@ -1315,6 +1349,22 @@ void TerraChunk::_bind_methods() {
ClassDB::bind_method(D_METHOD("material_cache_key_has_set"), &TerraChunk::material_cache_key_has_set);
ADD_PROPERTY(PropertyInfo(Variant::INT, "material_cache_key_has"), "material_cache_key_has_set", "material_cache_key_has");
ClassDB::bind_method(D_METHOD("liquid_material_cache_key_get"), &TerraChunk::liquid_material_cache_key_get);
ClassDB::bind_method(D_METHOD("liquid_material_cache_key_set"), &TerraChunk::liquid_material_cache_key_set);
ADD_PROPERTY(PropertyInfo(Variant::INT, "liquid_material_cache_key"), "liquid_material_cache_key_set", "liquid_material_cache_key_get");
ClassDB::bind_method(D_METHOD("liquid_material_cache_key_has"), &TerraChunk::liquid_material_cache_key_has);
ClassDB::bind_method(D_METHOD("liquid_material_cache_key_has_set"), &TerraChunk::liquid_material_cache_key_has_set);
ADD_PROPERTY(PropertyInfo(Variant::INT, "liquid_material_cache_key_has"), "liquid_material_cache_key_has_set", "liquid_material_cache_key_has");
ClassDB::bind_method(D_METHOD("prop_material_cache_key_get"), &TerraChunk::prop_material_cache_key_get);
ClassDB::bind_method(D_METHOD("prop_material_cache_key_set"), &TerraChunk::prop_material_cache_key_set);
ADD_PROPERTY(PropertyInfo(Variant::INT, "prop_material_cache_key"), "prop_material_cache_key_set", "prop_material_cache_key_get");
ClassDB::bind_method(D_METHOD("prop_material_cache_key_has"), &TerraChunk::prop_material_cache_key_has);
ClassDB::bind_method(D_METHOD("prop_material_cache_key_has_set"), &TerraChunk::prop_material_cache_key_has_set);
ADD_PROPERTY(PropertyInfo(Variant::INT, "prop_material_cache_key_has"), "prop_material_cache_key_has_set", "prop_material_cache_key_has");
ClassDB::bind_method(D_METHOD("get_library"), &TerraChunk::get_library);
ClassDB::bind_method(D_METHOD("set_library", "value"), &TerraChunk::set_library);
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "library", PROPERTY_HINT_RESOURCE_TYPE, "TerramanLibrary"), "set_library", "get_library");

View File

@ -141,6 +141,18 @@ public:
bool material_cache_key_has() const;
void material_cache_key_has_set(const bool value);
int liquid_material_cache_key_get() const;
void liquid_material_cache_key_set(const int value);
bool liquid_material_cache_key_has() const;
void liquid_material_cache_key_has_set(const bool value);
int prop_material_cache_key_get() const;
void prop_material_cache_key_set(const int value);
bool prop_material_cache_key_has() const;
void prop_material_cache_key_has_set(const bool value);
Ref<TerramanLibrary> get_library();
void set_library(const Ref<TerramanLibrary> &value);
@ -365,6 +377,12 @@ protected:
int _material_cache_key;
bool _material_cache_key_has;
int _liquid_material_cache_key;
bool _liquid_material_cache_key_has;
int _prop_material_cache_key;
bool _prop_material_cache_key_has;
float _world_height;
Vector<uint8_t *> _channels;