summaryrefslogtreecommitdiff
path: root/scripts/exporter.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/exporter.gd')
-rw-r--r--scripts/exporter.gd72
1 files changed, 70 insertions, 2 deletions
diff --git a/scripts/exporter.gd b/scripts/exporter.gd
index 712a10b..74f457e 100644
--- a/scripts/exporter.gd
+++ b/scripts/exporter.gd
@@ -1,10 +1,78 @@
extends Spatial
+const GrayMat = preload("res://gray_mat.tres")
+const ExporterTemplate = preload("res://scripts/template_export.gd")
+
+var worlds = []
+var selected_pos = null
+var selected = null
+
+var mat_selected = null
+var mat_unselected = null
+
+var template
+
func _ready():
- pass
+ for x in range(4):
+ self.worlds.append(null)
+ self.mat_selected = GrayMat.duplicate(true)
+ self.mat_selected.set_albedo(Color(0.2, 0.2, 0.2))
+ self.mat_unselected = GrayMat.duplicate(true)
+ self.template = ExporterTemplate.new()
+
+func set_world(i, world):
+ self.worlds[i] = world
+ var pos = get_node("spawns/" + str(i))
+ world.set_translation(pos.get_global_transform().origin)
+
+func push_world(world):
+ for x in range(4):
+ if self.worlds[x] == null:
+ set_world(x, world)
+ return true
+ return false
+
+func get_world(x):
+ return self.worlds[x]
func _on_body_input_event( camera, event, click_pos, click_normal, shape_idx ):
if event.type == InputEvent.MOUSE_BUTTON and event.button_index == BUTTON_LEFT and event.is_pressed():
print("body")
var cam = get_tree().get_root().get_camera()
- cam.select(self, get_node("point")) \ No newline at end of file
+ cam.select(self, get_node("point"))
+
+func _on_panel_input_event( camera, event, click_pos, click_normal, shape_idx ):
+ if event.type == InputEvent.MOUSE_BUTTON and event.button_index == BUTTON_LEFT and event.is_pressed():
+ print("sell")
+ var message = "Cannot sell, no world spot selected!"
+ if self.selected_pos != null:
+ var w = get_world(self.selected_pos.x)
+ if w != null:
+ get_node("animation").play("right")
+ get_tree().get_root().get_node("Game").remove_child(w)
+ var player = get_tree().get_root().get_node("Game/Player")
+ player.cash = player.cash + (w.cost * w.life.stage)
+ message = self.template.template(w)
+ self.worlds[self.selected_pos.x] = null
+ self.selected.set_material_override(self.mat_unselected)
+ self.selected_pos = null
+ self.selected = null
+ else:
+ message = "Cannot sell, no world!"
+ get_tree().get_root().get_node("Game/HUD").display_message(message, 15)
+
+func _on_cylinder_input_event( camera, event, click_pos, click_normal, shape_idx , node, pos):
+ if event.type == InputEvent.MOUSE_BUTTON and event.button_index == BUTTON_LEFT and event.is_pressed():
+ print("pos ",pos)
+ var new = get_node(node)
+ if self.selected != null:
+ self.selected.set_material_override(self.mat_unselected)
+
+ if self.selected == new:
+ self.selected.set_material_override(self.mat_unselected)
+ self.selected_pos = null
+ self.selected = null
+ else:
+ self.selected = new
+ self.selected_pos = pos
+ self.selected.set_material_override(self.mat_selected)