oh-my-git/card.gd

41 lines
994 B
GDScript3
Raw Normal View History

2020-10-13 13:04:12 +02:00
extends Node2D
var hovered = false
2020-10-13 13:04:12 +02:00
var dragged = false
var drag_offset
func _ready():
set_process_unhandled_input(true)
func _process(delta):
if dragged:
var mousepos = get_viewport().get_mouse_position()
position = mousepos - drag_offset
func _unhandled_input(event):
if event is InputEventMouseButton:
if event.button_index == BUTTON_LEFT and event.pressed and hovered:
2020-10-13 13:04:12 +02:00
dragged = true
game.dragged_object = self
2020-10-13 13:04:12 +02:00
drag_offset = get_viewport().get_mouse_position() - global_position
get_tree().set_input_as_handled()
modulate.a = 0.5
2020-10-13 13:04:12 +02:00
elif event.button_index == BUTTON_LEFT and !event.pressed:
dragged = false
game.dragged_object = null
modulate.a = 1
func _mouse_entered():
hovered = true
func _mouse_exited():
hovered = false
func dropped_on(other):
#print("I have been dropped on "+str(other.id))
print("Running " + $Label.text + " " + other.id)
var command = $Label.text + " " + other.id
$"../Terminal".send_command(command)
queue_free()