From c6ae7518c0ebbd9f4c89fc7e4eb498c38c7a1c0e Mon Sep 17 00:00:00 2001 From: Relintai Date: Sat, 28 Aug 2021 00:09:05 +0200 Subject: [PATCH] Deactivate / activate the world on teleporting to a dungeon. --- .../planets/test_planet/dungeons/dung_back_teleporter.gd | 1 + .../modules/planets/test_planet/dungeons/dung_teleporter.gd | 1 + game/tw/TerraWorldBlocky.gd | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/game/modules/planets/test_planet/dungeons/dung_back_teleporter.gd b/game/modules/planets/test_planet/dungeons/dung_back_teleporter.gd index fc26181d..be711ce1 100644 --- a/game/modules/planets/test_planet/dungeons/dung_back_teleporter.gd +++ b/game/modules/planets/test_planet/dungeons/dung_back_teleporter.gd @@ -56,6 +56,7 @@ func teleport(): _dungeon.hide() #turn back on world + world.active = true p.get_body().teleport(teleport_to) # p.get_body().transform.origin = teleport_to diff --git a/game/modules/planets/test_planet/dungeons/dung_teleporter.gd b/game/modules/planets/test_planet/dungeons/dung_teleporter.gd index bda4c2e6..e347e1a6 100644 --- a/game/modules/planets/test_planet/dungeons/dung_teleporter.gd +++ b/game/modules/planets/test_planet/dungeons/dung_teleporter.gd @@ -78,6 +78,7 @@ func teleport(): get_parent().add_child(_dungeon_back_teleporter) #turn off world + world.active = false #turn on dungeon _dungeon.show() diff --git a/game/tw/TerraWorldBlocky.gd b/game/tw/TerraWorldBlocky.gd index a42e6e4f..be8cc0fc 100644 --- a/game/tw/TerraWorldBlocky.gd +++ b/game/tw/TerraWorldBlocky.gd @@ -91,6 +91,9 @@ func generate(): func _process(delta): + if !active: + return + if initial_generation: return @@ -290,7 +293,8 @@ func spawn(start_x : int, start_z : int) -> void: if l > chunk_spawn_range: continue - chunk_create(x, z) + if !chunk_get(x, z): + chunk_create(x, z) # add_prop(Transform().translated(Vector3(0, 2, 0)), test_prop)