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.planet && player.planet.is_in_base(zone.get_global_position()) func use(player : Player, zone : Player.ActionZone) -> bool: if machine_type and machine_level and player.planet: player.planet.instantiate_machine(machine_type, machine_level, zone.get_global_position()) return true return false