SummerDay/addons/summer_day/data/blueprint/template_editables/tube.gd

39 lines
836 B
GDScript3
Raw Normal View History

2021-12-12 17:04:17 +01:00
tool
extends SummerDayEditable
class_name SummerDayEditableTube
2021-12-19 22:26:09 +01:00
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),
])
2021-12-19 22:26:09 +01:00
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
2021-12-19 22:26:09 +01:00
func _interact(event: InputEvent) -> bool: # Virtual.
return false
2021-12-31 17:22:58 +01:00
func _update_table(table: SummerDayTable): # Virtual.
2021-12-19 22:26:09 +01:00
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)
2021-12-19 22:26:09 +01:00