diff options
Diffstat (limited to 'scripts/exporter.gd')
| -rw-r--r-- | scripts/exporter.gd | 72 |
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) |
