extends Node3D var load_place = preload("res://places/base_place/test_place.tscn") var place = load_place.instantiate() var build_enabled = false var is_building = false var build_start_pos = null func _ready(): add_child(place) func _input(event): pass func _on_build_toggle(toggled_on): build_enabled = toggled_on func toggle_building(event): is_building = event.button_mask func _on_area_3d_input_event(_camera, event, event_position, _normal, _shade_id): # Checks input events from the mouse plane if event.is_action_pressed("select") && build_enabled: build_start_pos = event_position toggle_building(event) place.draw_tile_click(build_start_pos) if is_building: if event.button_mask: var build_mouse_pos = event_position place.init_select_drag(build_start_pos, build_mouse_pos) if not event.button_mask: toggle_building(event) place.end_select_drag() func _on_cancel_button_pressed() -> void: place.clear_selection() func _on_build_button_pressed() -> void: place.build_selection(true) func _on_destroy_button_pressed() -> void: place.build_selection(false)