feat: basic dragon instantiating
This commit is contained in:
parent
a0bb24464d
commit
9e153b63ac
6 changed files with 76 additions and 1 deletions
29
scripts/dragon.gd
Normal file
29
scripts/dragon.gd
Normal file
|
@ -0,0 +1,29 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var dragging = false
|
||||
var dragging_start_position = Vector2i()
|
||||
|
||||
@onready var window: Window = $".."
|
||||
|
||||
|
||||
func _ready():
|
||||
set_process_input(true)
|
||||
|
||||
|
||||
func _input(event):
|
||||
if event is not InputEventMouseButton:
|
||||
return
|
||||
if event.button_index != MOUSE_BUTTON_LEFT:
|
||||
return
|
||||
|
||||
if event.pressed:
|
||||
dragging = true
|
||||
dragging_start_position = Vector2i(get_global_mouse_position())
|
||||
else:
|
||||
dragging = false
|
||||
|
||||
|
||||
func _process(_delta):
|
||||
if dragging:
|
||||
window.position = window.position + Vector2i(get_global_mouse_position()) - dragging_start_position
|
1
scripts/dragon.gd.uid
Normal file
1
scripts/dragon.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://bmlkcni4km614
|
|
@ -1,5 +1,9 @@
|
|||
extends Node
|
||||
|
||||
|
||||
@export var dragon_template: PackedScene
|
||||
|
||||
|
||||
func _ready():
|
||||
await get_tree().process_frame
|
||||
move_window_to_bottom_right()
|
||||
|
@ -16,3 +20,17 @@ func move_window_to_bottom_right():
|
|||
var new_position: Vector2i = work_area_position + Vector2i(work_area_size.x - window_size.x, work_area_size.y - window_size.y)
|
||||
|
||||
DisplayServer.window_set_position(new_position)
|
||||
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("ui_accept"):
|
||||
_instantiate_dragon(Vector2i(0, 0))
|
||||
|
||||
|
||||
func _instantiate_dragon(relative_position: Vector2i) -> void:
|
||||
var dragon = dragon_template.instantiate()
|
||||
add_child(dragon)
|
||||
if dragon is Window:
|
||||
var window_position: Vector2i = DisplayServer.window_get_position()
|
||||
dragon.position = window_position + relative_position
|
||||
dragon.show()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue