diff options
| author | J08nY | 2017-04-24 02:23:37 +0200 |
|---|---|---|
| committer | J08nY | 2017-04-24 02:23:37 +0200 |
| commit | 8f1613ca0fab95fe837d9278e7829f70fb7bc934 (patch) | |
| tree | 572ebdce96d1e1734d5175d646fe2248d483cff2 /scripts/combinator.gd | |
| parent | cfe4ce0fb4705a6c231528d60e4833c4dc2ec68f (diff) | |
| download | ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.tar.gz ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.tar.zst ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.zip | |
Diffstat (limited to 'scripts/combinator.gd')
| -rw-r--r-- | scripts/combinator.gd | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/combinator.gd b/scripts/combinator.gd index 2bc7740..43ebe0b 100644 --- a/scripts/combinator.gd +++ b/scripts/combinator.gd @@ -1,11 +1,20 @@ extends Spatial +const Builder = preload("res://scripts/builder.gd") +const CombinatorTemplate = preload("res://scripts/template_combine.gd") + var prev_pos = null var panel = null +var world = null + +var templater = null +var builder = null func _ready(): get_node("Area/Quad").get_material_override().set_texture(SpatialMaterial.DIFFUSE_LAMBERT, get_node("Viewport").get_texture()) self.panel = get_node("Viewport/CombinatorPanel") + self.templater = CombinatorTemplate.new() + self.builder = Builder.new() set_process_input(true) func _on_Area_input_event( camera, event, click_pos, click_normal, shape_idx ): @@ -35,5 +44,17 @@ 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("panel") get_node("animation").play("click") + var panel = get_node("Viewport/CombinatorPanel") + var ids = panel.get_ids() + var message = null + if ids != null and ids.size() > 0 and self.builder.can_combine(ids): + self.world = self.builder.combine(get_node("spawn").get_global_transform().origin, ids) + get_tree().get_root().get_node("Game").add_child(self.world) + panel.clear_all() + message = self.templater.template(self.world) + else: + message = "Cannot combine!" + get_tree().get_root().get_node("Game/HUD").display_message(message, 15) +
\ No newline at end of file |
