adding stage handling to card

This commit is contained in:
betalars 2023-07-11 23:13:04 +02:00
parent 1d8d0f76ec
commit 1060f7815f
1 changed files with 22 additions and 18 deletions

View File

@ -10,6 +10,8 @@ var noise: Noise = FastNoiseLite.new()
var wiggle_tween
var scale_tween
var on_stage = false
@export var text: String = "" :
set (value):
text = value
@ -80,11 +82,11 @@ func _ready():
_handle_wiggle(0)
func _process(delta: float) -> void:
if highlighted:
_handle_wiggle(delta)
_move_card()
if self.on_stage:
if highlighted:
_handle_wiggle(delta)
_move_card()
func _handle_wiggle(delta):
wiggle_pos += delta * wiggle_speed * wiggle_intensity
@ -104,23 +106,25 @@ func _on_focus_exited():
print(self, "is not focused")
func _on_mouse_entered():
if not Input.is_action_pressed("mouse_left"):
highlighted = true
if "handle_hover" in owner:
owner.handle_hover(self)
if self.on_stage:
if not Input.is_action_pressed("mouse_left"):
highlighted = true
if "handle_hover" in owner:
owner.handle_hover(self)
func _on_mouse_exited():
highlighted = false
if self.on_stage:
highlighted = false
func _on_input_event(viewport, event, shape_idx):
if event is InputEventMouseMotion:
_move_card()
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
if is_dragable and "handle_mouse_button" in owner:
owner.handle_mouse_button(self, event)
if self.on_stage:
if event is InputEventMouseMotion:
_move_card()
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
if is_dragable and "handle_mouse_button" in owner:
owner.handle_mouse_button(self, event)
func _move_card():
if is_dragged: