project-villain/map/map_manager.gd

37 lines
809 B
GDScript

extends Node3D
var load_map = preload("res://map/base_map/test_map.tscn")
var map = load_map.instantiate()
var build_enabled = false
var is_building = false
var build_start_pos = null
func _ready():
add_child(map)
func _input(event):
pass
func _build_toggled(toggled_on) -> void:
build_enabled = toggled_on
func toggle_building(event):
is_building = event.pressed
func _on_area_3d_input_event(_camera, event, event_position, _normal, _shade_id):
if event.is_action_pressed("select") && build_enabled:
build_start_pos = event_position
toggle_building(event)
map.draw_tile_click(build_start_pos)
if event.button_mask && is_building:
var build_mouse_pos = event_position
map.init_tile_drag(build_start_pos, build_mouse_pos)
if not event.button_mask:
map.clear_build_drag()
pass