diff --git a/main/biome.cpp b/main/biome.cpp index 1c7af56..1ab8e76 100644 --- a/main/biome.cpp +++ b/main/biome.cpp @@ -136,26 +136,20 @@ void Biome::setup() { } #ifdef VOXELMAN_PRESENT -void Biome::generate_chunk(VoxelChunk *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Biome::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); } } -void Biome::generate_chunk_bind(Node *chunk, bool spawn_mobs) { - generate_chunk(Object::cast_to(chunk), spawn_mobs); -} -void Biome::generate_stack(VoxelChunk *chunk, int x, int z, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Biome::generate_stack(Ref chunk, int x, int z, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_stack")) { call("_generate_stack", chunk, x, z, spawn_mobs); } } -void Biome::generate_stack_bind(Node *chunk, int x, int z, bool spawn_mobs) { - generate_stack(Object::cast_to(chunk), x, z, spawn_mobs); -} void Biome::setup_library(Ref library) { if (!_data.is_valid()) @@ -204,8 +198,8 @@ void Biome::setup_library(Ref library) { } } -void Biome::generate_chunk(Node *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Biome::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); @@ -249,8 +243,8 @@ void Biome::_bind_methods() { #ifdef VOXELMAN_PRESENT ClassDB::bind_method(D_METHOD("_setup_library", "library"), &Biome::_setup_library); - ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &Biome::generate_chunk_bind); - ClassDB::bind_method(D_METHOD("generate_stack", "chunk", "x", "z", "spawn_mobs"), &Biome::generate_stack_bind); + ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &Biome::generate_chunk); + ClassDB::bind_method(D_METHOD("generate_stack", "chunk", "x", "z", "spawn_mobs"), &Biome::generate_stack); #else ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &Biome::generate_chunk); #endif diff --git a/main/biome.h b/main/biome.h index 2937e72..8057bf1 100644 --- a/main/biome.h +++ b/main/biome.h @@ -24,6 +24,7 @@ SOFTWARE. #define BIOME_H #include "core/reference.h" +#include "core/resource.h" #include "dungeon.h" @@ -88,15 +89,13 @@ public: void setup(); #ifdef VOXELMAN_PRESENT - void generate_chunk(VoxelChunk *chunk, bool spawn_mobs); - void generate_chunk_bind(Node *chunk, bool spawn_mobs); - void generate_stack(VoxelChunk *chunk, int x, int z, bool spawn_mobs); - void generate_stack_bind(Node *chunk, int x, int z, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); + void generate_stack(Ref chunk, int x, int z, bool spawn_mobs); void setup_library(Ref library); void _setup_library(Ref library); #else - void generate_chunk(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); void setup_library(Ref library); #endif diff --git a/main/dungeon.cpp b/main/dungeon.cpp index 777db98..22b9b56 100644 --- a/main/dungeon.cpp +++ b/main/dungeon.cpp @@ -262,16 +262,13 @@ void Dungeon::_setup_library(Ref library) { } } -void Dungeon::generate_chunk(VoxelChunk *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Dungeon::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); } } -void Dungeon::generate_chunk_bind(Node *chunk, bool spawn_mobs) { - generate_chunk(Object::cast_to(chunk), spawn_mobs); -} void Dungeon::generate_structure(Ref structure, bool spawn_mobs) { if (has_method("_generate_structure")) { @@ -288,8 +285,8 @@ void Dungeon::setup_library(Ref library) { } } -void Dungeon::generate_chunk(Node *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Dungeon::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); @@ -350,7 +347,7 @@ void Dungeon::_bind_methods() { ClassDB::bind_method(D_METHOD("setup_library", "library"), &Dungeon::setup_library); ClassDB::bind_method(D_METHOD("_setup_library", "library"), &Dungeon::_setup_library); - ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &Dungeon::generate_chunk_bind); + ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &Dungeon::generate_chunk); ClassDB::bind_method(D_METHOD("generate_structure", "structure", "spawn_mobs"), &Dungeon::generate_structure); #else ClassDB::bind_method(D_METHOD("setup_library", "library"), &Dungeon::setup_library); diff --git a/main/dungeon.h b/main/dungeon.h index dfde827..3e7c199 100644 --- a/main/dungeon.h +++ b/main/dungeon.h @@ -131,12 +131,11 @@ public: void setup_library(Ref library); void _setup_library(Ref library); - void generate_chunk(VoxelChunk *chunk, bool spawn_mobs); - void generate_chunk_bind(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); void generate_structure(Ref structure, bool spawn_mobs); #else void setup_library(Ref library); - void generate_chunk(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); #endif Ref generate_map(); diff --git a/main/dungeon_room.cpp b/main/dungeon_room.cpp index bc16bd9..3fe66af 100644 --- a/main/dungeon_room.cpp +++ b/main/dungeon_room.cpp @@ -203,18 +203,14 @@ void DungeonRoom::_setup_library(Ref library) { } } -void DungeonRoom::generate_chunk(VoxelChunk *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void DungeonRoom::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); } } -void DungeonRoom::generate_chunk_bind(Node *chunk, bool spawn_mobs) { - generate_chunk(Object::cast_to(chunk), spawn_mobs); -} - void DungeonRoom::generate_room(Ref structure, bool spawn_mobs) { if (has_method("_generate_room")) { call("_generate_room", structure, spawn_mobs); @@ -231,8 +227,8 @@ void DungeonRoom::setup_library(Ref library) { } } -void DungeonRoom::generate_chunk(Node *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void DungeonRoom::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); @@ -286,7 +282,7 @@ void DungeonRoom::_bind_methods() { #endif #ifdef VOXELMAN_PRESENT - ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &DungeonRoom::generate_chunk_bind); + ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &DungeonRoom::generate_chunk); ClassDB::bind_method(D_METHOD("generate_room", "structure", "spawn_mobs"), &DungeonRoom::generate_room); #else ClassDB::bind_method(D_METHOD("generate_chunk", "chunk", "spawn_mobs"), &DungeonRoom::generate_chunk); diff --git a/main/dungeon_room.h b/main/dungeon_room.h index 1023e7e..1bc6154 100644 --- a/main/dungeon_room.h +++ b/main/dungeon_room.h @@ -111,8 +111,7 @@ public: void setup_library(Ref library); void _setup_library(Ref library); - void generate_chunk(VoxelChunk *chunk, bool spawn_mobs); - void generate_chunk_bind(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); void generate_room(Ref structure, bool spawn_mobs); #else void setup_library(Ref library); diff --git a/main/planet.cpp b/main/planet.cpp index 8d294b7..0d404a3 100644 --- a/main/planet.cpp +++ b/main/planet.cpp @@ -137,17 +137,14 @@ void Planet::_setup_library(Ref library) { } } -void Planet::generate_chunk(VoxelChunk *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Planet::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); } } -void Planet::generate_chunk_bind(Node *chunk, bool spawn_mobs) { - generate_chunk(Object::cast_to(chunk), spawn_mobs); -} #else void Planet::setup_library(Ref library) { if (!_data.is_valid()) @@ -158,8 +155,8 @@ void Planet::setup_library(Ref library) { } } -void Planet::generate_chunk(Node *chunk, bool spawn_mobs) { - ERR_FAIL_COND(!ObjectDB::instance_validate(chunk)); +void Planet::generate_chunk(Ref chunk, bool spawn_mobs) { + ERR_FAIL_COND(!chunk.is_valid()); if (has_method("_generate_chunk")) { call("_generate_chunk", chunk, spawn_mobs); @@ -200,7 +197,7 @@ void Planet::_bind_methods() { ClassDB::bind_method(D_METHOD("setup"), &Planet::setup); #ifdef VOXELMAN_PRESENT - ClassDB::bind_method(D_METHOD("generate_chunk", "chunk"), &Planet::generate_chunk_bind); + ClassDB::bind_method(D_METHOD("generate_chunk", "chunk"), &Planet::generate_chunk); ClassDB::bind_method(D_METHOD("_setup_library", "library"), &Planet::_setup_library); #else ClassDB::bind_method(D_METHOD("generate_chunk", "chunk"), &Planet::generate_chunk); diff --git a/main/planet.h b/main/planet.h index 9517917..84ab262 100644 --- a/main/planet.h +++ b/main/planet.h @@ -79,10 +79,9 @@ public: void setup_library(Ref library); void _setup_library(Ref library); - void generate_chunk(VoxelChunk *chunk, bool spawn_mobs); - void generate_chunk_bind(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); #else - void generate_chunk(Node *chunk, bool spawn_mobs); + void generate_chunk(Ref chunk, bool spawn_mobs); void setup_library(Ref library); #endif