improved card handling
This commit is contained in:
parent
191882e991
commit
4800acd15b
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue