summaryrefslogtreecommitdiffstats
path: root/World.gd
diff options
context:
space:
mode:
authordusoleil <howcansocksbereal@gmail.com>2022-09-18 19:38:35 -0400
committerdusoleil <howcansocksbereal@gmail.com>2022-09-18 19:42:01 -0400
commit32bf9d2024362d45dc351c8f1d0b3b301caf1131 (patch)
treefb6540bce94cb55c6123ecfe1327abeabea2925f /World.gd
parentffc92ed12c6e680776d355ff9fcef70e5e28d7c8 (diff)
downloadgodot_wildjam_49-32bf9d2024362d45dc351c8f1d0b3b301caf1131.tar.gz
godot_wildjam_49-32bf9d2024362d45dc351c8f1d0b3b301caf1131.zip
Organize World Gen Stuff
Diffstat (limited to 'World.gd')
-rw-r--r--World.gd77
1 files changed, 0 insertions, 77 deletions
diff --git a/World.gd b/World.gd
deleted file mode 100644
index af2ba6a..0000000
--- a/World.gd
+++ /dev/null
@@ -1,77 +0,0 @@
-extends Spatial
-
-export(NodePath) var traveler = null
-onready var _traveler = get_node(traveler)
-export var acceleration = 10.0
-
-onready var lod_distance = $"ChunkRenderDistance"
-onready var lod_mid = $"ChunkRenderMid"
-onready var lod_close = $"ChunkRenderClose"
-
-onready var chunk_render_distance = lod_distance.get_node("Radius").shape.radius
-
-onready var chunk_half_size = $"Chunks/Chunk/Size".shape.radius
-onready var chunk_size = chunk_half_size * 2.0
-
-func _ready():
- ChunkLoader.world = self
- ChunkGen.chunk_half_size = self.chunk_half_size
-
-func _on_ChunkRenderDistance_area_entered(area:Area):
- if area.lod < area.LOD.DISTANCE:
- area.lod = area.LOD.DISTANCE
- area.lod_update()
-
-func _on_ChunkRenderMid_area_entered(area:Area):
- if area.lod < area.LOD.MID:
- area.lod = area.LOD.MID
- area.lod_update()
-
-func _on_ChunkRenderClose_area_entered(area:Area):
- if area.lod < area.LOD.CLOSE:
- area.lod = area.LOD.CLOSE
- area.lod_update()
-
-func _on_ChunkRenderDistance_area_exited(area:Area):
- area.queue_free()
-
-func _on_ChunkRenderMid_area_exited(area:Area):
- area.lod = area.LOD.DISTANCE
- area.lod_update()
-
-func _on_ChunkRenderClose_area_exited(area:Area):
- area.lod = area.LOD.MID
- area.lod_update()
-
-func travel(direction:Vector3):
- var heading = _traveler.global_transform.basis
- heading = Basis(Vector3.UP*heading.get_euler().y)
- direction = -direction
- direction = heading * direction
- direction = direction.normalized()
- $"Chunks".add_central_force(direction*acceleration)
-
-func _physics_process(_state):
- chunk_process()
- var stick = Input.get_axis("ship_down","ship_up")
- if stick != 0.0:
- self.travel(Vector3.FORWARD*stick)
-
-func v2_coords(coords:Vector3):
- return Vector2(coords.x,coords.z)
-
-func chunk_coords(coords:Vector2):
- return coords.snapped(Vector2(chunk_size,chunk_size))
-
-func chunk_process():
- var gen_center = -v2_coords($"Chunks".transform.origin)
- var gen_radius = chunk_render_distance
- var gen_radius_rounded = stepify(gen_radius, chunk_size)
- for x in range(-gen_radius_rounded, gen_radius_rounded+chunk_size, chunk_size):
- for y in range(-gen_radius_rounded, gen_radius_rounded+chunk_size, chunk_size):
- var gen_coords = Vector2(x,y)
- if gen_coords.length() > gen_radius:
- continue
- var coords = chunk_coords(gen_coords + gen_center)
- ChunkLoader.add_chunk(coords)
- ChunkLoader.chunk_update()