62 lines
1.3 KiB
GDScript
62 lines
1.3 KiB
GDScript
extends Node
|
|
|
|
@onready var DoubleBeds = preload("res://Scenes/Prefabs/DoubleBeds.tscn")
|
|
@onready var Pot = preload("res://Scenes/Prefabs/Pot.tscn")
|
|
@onready var Battery = preload("res://Scenes/Prefabs/Battery.tscn")
|
|
@onready var Shelf = preload("res://Scenes/Prefabs/Shelf.tscn")
|
|
|
|
signal build_object_selected
|
|
|
|
signal exit_build_mode
|
|
signal enter_build_mode
|
|
|
|
signal preview_created
|
|
signal preview_destroyed
|
|
|
|
signal object_placed(build_postion)
|
|
signal object_added(object)
|
|
|
|
var build_mode: bool = false
|
|
|
|
var selected_object_id: int
|
|
var is_object_selected: bool
|
|
|
|
var global_y = 2.903
|
|
|
|
var builded_objects: Array
|
|
|
|
func _ready() -> void:
|
|
is_object_selected = false
|
|
build_object_selected.connect(_on_object_selected)
|
|
|
|
func _input(event: InputEvent) -> void:
|
|
if event.is_action_released("enter_build_mode"):
|
|
if build_mode:
|
|
exit_build_mode.emit()
|
|
build_mode = false
|
|
else:
|
|
enter_build_mode.emit()
|
|
build_mode = true
|
|
|
|
func get_preview_object():
|
|
var selected_object
|
|
match selected_object_id:
|
|
0:
|
|
selected_object = DoubleBeds
|
|
1:
|
|
selected_object = Pot
|
|
2:
|
|
selected_object = Battery
|
|
3:
|
|
selected_object = Shelf
|
|
return selected_object
|
|
|
|
|
|
func _on_object_selected():
|
|
is_object_selected = true
|
|
|
|
|
|
func add_object_to_array(object):
|
|
builded_objects.append(object)
|
|
object_added.emit(object)
|