tool extends SummerDayEditable class_name SummerDayEditableTube export(PoolVector2Array) var vertices = PoolVector2Array([ Vector2(-0.4, -0.4), Vector2(0.1, -0.4), Vector2(0.1, 0.1), Vector2(-0.4, 0.1), Vector2(-0.1, -0.1), Vector2(0.4, -0.1), Vector2(0.4, 0.4), Vector2(-0.1, 0.4), ]) func _check_for_selection_candidate(event: InputEvent) -> bool: # Virtual. if event is InputEventMouseButton: if event.button_index == BUTTON_LEFT and event.pressed: return _is_point_included(event.position) return false func _interact(event: InputEvent) -> bool: # Virtual. return false func _update_table(table: SummerDayTable): # Virtual. pass func _is_point_included(point: Vector2) -> bool: # Private. var convex_hull = Geometry.convex_hull_2d(vertices) return Geometry.is_point_in_polygon(point, convex_hull)