improved card handling

This commit is contained in:
Adrian Schmid 2023-07-14 21:20:04 +02:00
parent 191882e991
commit 4800acd15b
1 changed files with 9 additions and 10 deletions

View File

@ -53,13 +53,14 @@ var scale_tween
@export var voice_line: AudioStream = null
@export var is_dragable: bool = false
@onready var diameter = $CollisionShape2D.shape.height
@onready var diameter = $CollisionShape2D.shape.radius * 2
var is_dragged: bool = false:
set(dragged):
is_dragged = dragged
z_index = int(dragged)
var is_dragged: bool = false
# for debugging
var is_printed: bool = false
var mouse_offset: Vector2
func _ready():
@ -92,11 +93,8 @@ func _process(delta: float) -> void:
_handle_wiggle(delta)
if get_overlapping_areas().size() > 0:
if not is_printed:
print_debug(self.name,": ",get_overlapping_areas())
is_printed = true
for area in get_overlapping_areas():
if self != area:
if area.get_meta("type") != "post-it" and not area.is_dragged:
var diff:Vector2 = position - area.position
position -= diff.normalized() * ((diff.length()-diameter)/diameter) * bounce_speed * (delta/(1.0/60))
@ -136,11 +134,12 @@ func _on_input_event(viewport, event, shape_idx):
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
if is_dragable and "handle_mouse_button" in owner:
mouse_offset = (get_viewport().get_mouse_position() - position)
owner.handle_mouse_button(self, event)
func _move_card():
if is_dragged:
position += get_viewport().get_mouse_position() - position
position += (get_viewport().get_mouse_position() - position) - mouse_offset
func has_postit_attached() -> bool:
var all_children = get_children()