extends Item class_name Blueprint @export var machine_type: MachineType @export var machine_level: int = 1 func _init(_machine_type : MachineType = null, _machine_level : int = 1): machine_type = _machine_type machine_level = _machine_level func get_item_name() -> String: if machine_type: return machine_type.name return "" func get_description() -> String: if machine_type: return machine_type.description return "" func get_icon() -> Texture2D: return preload("res://common/icons/cube-3d-sphere.svg") func use_text() -> String: if machine_type: return "Build " + machine_type.name return "" func is_one_time_use(): return true func can_use(player : Player, _zone : Player.ActionZone) -> bool: return player.terrain is Planet func use(player : Player, zone : Player.ActionZone) -> bool: if machine_type and machine_level and player.planet: player.planet.add_entity( Machine.instantiate_machine(machine_type, machine_level), zone.get_global_position() ) return true return false