1
0
Fork 0
mirror of https://github.com/tonytins/dressupzack synced 2025-05-05 13:34:48 -04:00
dressupzack/scripts/clothing.gd
Tony Bark 2bc37e1100 Advanced drag and drop
More precise drag and drop. Still has a few bugs, but most of the base is there.

- Removed translations.
- Cleaned up README
2023-12-07 21:45:26 -05:00

37 lines
1.1 KiB
GDScript

# This project is licensed under the GPL-3.0 license.
# See the LICENSE file in the project root for more information.
extends TextureRect
var is_draggable = false
var is_inside_draggable = false
var body_ref
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if is_draggable:
if Input.is_action_just_pressed("click"):
global_position = get_global_mouse_position()
elif Input.is_action_just_released("click"):
is_draggable = false
var tween = get_tree().create_tween()
if is_inside_draggable:
tween.tween_property(self,"postion",body_ref.position,0.2).set_ease(Tween.EASE_OUT)
else:
tween.tween_property(self,"global_postion",body_ref.position,0.2).set_ease(Tween.EASE_OUT)
func _get_drag_data(at_position):
var preview_texture = TextureRect.new()
preview_texture.texture = texture
preview_texture.expand_mode = 1
preview_texture.size = Vector2(106, 112)
set_drag_preview(preview_texture)
return preview_texture.texture
func _can_drop_data(at_position, data):
return data is Texture2D
func _drop_data(at_position, data):
texture = data