Better screen
This commit is contained in:
31
SetPiece_.gd
31
SetPiece_.gd
@@ -1,3 +1,4 @@
|
||||
@tool
|
||||
extends Polygon2D
|
||||
#class_name SetPiece
|
||||
|
||||
@@ -9,7 +10,10 @@ extends Polygon2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
self.color.a = 0.25
|
||||
if Engine.is_editor_hint():
|
||||
self.color.a = 0.25
|
||||
notify_property_list_changed()
|
||||
pass
|
||||
else:
|
||||
hide()
|
||||
@@ -24,20 +28,23 @@ signal exited
|
||||
var is_in = false
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
if Geometry2D.is_point_in_polygon(to_local(get_global_mouse_position()), self.polygon):
|
||||
if is_in == false:
|
||||
is_in = true
|
||||
print("ENTERED", self)
|
||||
emit_signal("entered", label)
|
||||
if Engine.is_editor_hint():
|
||||
self.color.a = 0.25
|
||||
else:
|
||||
if is_in == true:
|
||||
emit_signal("exited")
|
||||
is_in = false
|
||||
if Geometry2D.is_point_in_polygon(to_local(get_global_mouse_position()), self.polygon):
|
||||
if is_in == false:
|
||||
is_in = true
|
||||
emit_signal("entered", label)
|
||||
else:
|
||||
if is_in == true:
|
||||
emit_signal("exited")
|
||||
is_in = false
|
||||
|
||||
|
||||
|
||||
func _input(event):
|
||||
if Geometry2D.is_point_in_polygon(to_local(get_global_mouse_position()), self.polygon):
|
||||
if event is InputEventMouseButton and event.is_pressed():
|
||||
get_viewport().set_input_as_handled()
|
||||
emit_signal("interacted")
|
||||
if not Engine.is_editor_hint():
|
||||
if Geometry2D.is_point_in_polygon(to_local(get_global_mouse_position()), self.polygon):
|
||||
if event is InputEventMouseButton and event.is_action("interact"):
|
||||
get_viewport().set_input_as_handled()
|
||||
emit_signal("interacted")
|
||||
|
||||
Reference in New Issue
Block a user