39 lines
836 B
GDScript
39 lines
836 B
GDScript
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)
|
|
|