extends Item class_name TractorBeam const USE_INTERVAL = 0.15 func get_item_name() -> String: return tr("TRACTOR_BEAM") func get_description() -> String: return tr("TRACTOR_BEAM_DESC_TEXT") func get_icon() -> Texture2D: return preload("res://common/icons/tractor-beam.svg") func get_pointer() -> Texture2D: return preload("res://gui/pointer/assets/cursors/pointer-hand.svg") func get_clicked_pointer() -> Texture2D: return preload("res://gui/pointer/assets/cursors/pointer-grab.svg") func is_pointer_center() -> bool: return true func get_item_type() -> ItemType: return Item.ItemType.TOOL_ITEM func get_energy_used() -> int: return 0 func get_usage_zone_radius() -> int: return 0 func is_usage_need_proximity() -> bool: return false func deactivate_interactable() -> bool: return true func use_text() -> String: return tr("") func can_use(_player: Player, _zone: Player.ActionZone) -> bool: return Pointer.inspected != null func use(_player: Player, _zone: Player.ActionZone) -> bool: if Pointer.dragging_inspected: Pointer.stop_dragging() if !Pointer.dragging_inspected: AudioManager.play_sfx("TractorBeamDrop") return true else: return false else: Pointer.start_dragging() if Pointer.dragging_inspected: AudioManager.play_sfx("TractorBeamTake") return true else: return false