41 lines
878 B
GDScript
41 lines
878 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:
|
|
if toggled_on:
|
|
build_enabled = true
|
|
else:
|
|
build_enabled = false
|
|
|
|
func toggle_building(event):
|
|
if event.pressed:
|
|
is_building = true
|
|
|
|
if not event.pressed:
|
|
is_building = false
|
|
|
|
func _on_area_3d_input_event(_camera, event, event_position, _normal, _shade_id):
|
|
if event.is_action("select") && build_enabled:
|
|
is_building = true
|
|
build_start_pos = event_position
|
|
toggle_building(event)
|
|
|
|
if not event.is_action_pressed("select") && is_building:
|
|
var build_mouse_pos = event_position
|
|
map.init_tile(build_start_pos, build_mouse_pos)
|
|
|
|
pass # Replace with function body.
|