summaryrefslogtreecommitdiff
path: root/scripts/world.gd
diff options
context:
space:
mode:
authorJ08nY2017-04-22 16:58:23 +0200
committerJ08nY2017-04-22 16:58:23 +0200
commit3ed5257c222f34b591b744ef6418b5c1165be25f (patch)
tree94c93520cfdf6dad1c24d774612cdf2d4d3880eb /scripts/world.gd
parentfee1e13ece6b3a75d59ecd19510567fb7a2f9a61 (diff)
downloadld38-3ed5257c222f34b591b744ef6418b5c1165be25f.tar.gz
ld38-3ed5257c222f34b591b744ef6418b5c1165be25f.tar.zst
ld38-3ed5257c222f34b591b744ef6418b5c1165be25f.zip
Diffstat (limited to 'scripts/world.gd')
-rw-r--r--scripts/world.gd45
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/world.gd b/scripts/world.gd
new file mode 100644
index 0000000..572a658
--- /dev/null
+++ b/scripts/world.gd
@@ -0,0 +1,45 @@
+extends Spatial
+
+const SIZE = 15
+
+var Cube = preload("res://cube.tscn")
+var House = preload("res://house.tscn")
+var Pine = preload("res://tree_pine.tscn")
+var Oak = preload("res://tree_oak.tscn")
+var cubes = Array()
+
+func _enter_tree():
+ var pn = Pine.instance()
+ pn.translate(Vector3(2,1,2))
+ add_child(pn)
+ var ok = Oak.instance()
+ ok.translate(Vector3(-2,1,2))
+ add_child(ok)
+ var hs = House.instance()
+ hs.translate(Vector3(0,1,2))
+ hs.rotate_y(PI/2)
+ add_child(hs)
+ _make_ball(SIZE, Vector3(0,0,0))
+
+func _make_ball(size, center):
+ var blocks = Array()
+ for x in range(-size, size):
+ var line_x = Array()
+ blocks.append(line_x)
+ for y in range(0, -size, -1):
+ var line_y = Array()
+ line_x.append(line_y)
+ for z in range(-size, size):
+ var relative = Vector3(x, y, z)
+ if floor(relative.length()) <= size/2:
+ var cube = Cube.instance()
+ cube.translate(relative + center)
+ cube.set_scale(Vector3(0.5, 0.5, 0.5))
+ add_child(cube)
+ line_y.append(cube)
+ else:
+ line_y.append(null)
+
+func _on_click():
+ var cam = get_tree().get_root().get_camera()
+ cam.select(self) \ No newline at end of file