Loading scenes/dragons/dragon.tscn +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ size = Vector2(128, 128) script = ExtResource("1_jccds") [node name="Dragon" parent="." instance=ExtResource("2_l1h0r")] position = Vector2(-64, -64) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 1) Loading scenes/dragons/dragon_sprite.tscn +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ [node name="Sprite" type="Sprite2D" parent="."] position = Vector2(0, 1) texture = ExtResource("1_ixu8j") offset = Vector2(64, 64) scenes/window/dragon.gd +6 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ extends Window class_name Dragon @export var dragon_speed: float = 20.0 @export var dragon: Node2D @onready var _actual_position: Vector2 = position var main_window_rect: Rect2i Loading Loading @@ -63,3 +64,8 @@ func _pick_random_screen_position() -> void: ) _target_pos = random_pos func set_scale(scale: float) -> void: size = Vector2i(size.x * scale, size.y * scale) dragon.scale = Vector2(scale, scale) scenes/window/dragon_popup.tscn +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://ch7d3wo8ucskb" path="res://scenes/window/draggable.gd" id="2_2r6si"] [ext_resource type="PackedScene" uid="uid://baa8gpicw2yg0" path="res://scenes/dragons/dragon_sprite.tscn" id="3_ctdir"] [node name="DragonPopup" type="Window"] [node name="DragonPopup" type="Window" node_paths=PackedStringArray("dragon")] disable_3d = true transparent_bg = true size = Vector2i(128, 128) Loading @@ -13,6 +13,7 @@ borderless = true transparent = true script = ExtResource("1_ctdir") dragon_speed = 100.0 dragon = NodePath("Dragon") [node name="DragDropDetector" type="Control" parent="."] layout_mode = 3 Loading @@ -22,4 +23,3 @@ offset_bottom = 40.0 script = ExtResource("2_2r6si") [node name="Dragon" parent="." instance=ExtResource("3_ctdir")] position = Vector2(64, 64) src/dragon_instantiator.gd +2 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ func _calculate_relative_position(position: Vector2) -> Vector2i: func _instantiate_dragon(relative_position: Vector2i) -> Node: var dragon: Window = _dragon_template.instantiate() var dragon: Dragon = _dragon_template.instantiate() var window_position: Vector2i = DisplayServer.window_get_position() var window_size: Vector2i = DisplayServer.window_get_size() Loading @@ -36,8 +36,7 @@ func _instantiate_dragon(relative_position: Vector2i) -> Node: dragon.position = window_position + relative_position - dragon.size / 2 var size: float = _calculate_window_scale().y dragon.size = Vector2i(dragon.size.x * size, dragon.size.y * size) dragon.content_scale_factor = 0.5 dragon.set_scale(size) dragon.main_window_rect = Rect2i(window_position, window_size) dragon.show() Loading Loading
scenes/dragons/dragon.tscn +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ size = Vector2(128, 128) script = ExtResource("1_jccds") [node name="Dragon" parent="." instance=ExtResource("2_l1h0r")] position = Vector2(-64, -64) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 1) Loading
scenes/dragons/dragon_sprite.tscn +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ [node name="Sprite" type="Sprite2D" parent="."] position = Vector2(0, 1) texture = ExtResource("1_ixu8j") offset = Vector2(64, 64)
scenes/window/dragon.gd +6 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ extends Window class_name Dragon @export var dragon_speed: float = 20.0 @export var dragon: Node2D @onready var _actual_position: Vector2 = position var main_window_rect: Rect2i Loading Loading @@ -63,3 +64,8 @@ func _pick_random_screen_position() -> void: ) _target_pos = random_pos func set_scale(scale: float) -> void: size = Vector2i(size.x * scale, size.y * scale) dragon.scale = Vector2(scale, scale)
scenes/window/dragon_popup.tscn +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://ch7d3wo8ucskb" path="res://scenes/window/draggable.gd" id="2_2r6si"] [ext_resource type="PackedScene" uid="uid://baa8gpicw2yg0" path="res://scenes/dragons/dragon_sprite.tscn" id="3_ctdir"] [node name="DragonPopup" type="Window"] [node name="DragonPopup" type="Window" node_paths=PackedStringArray("dragon")] disable_3d = true transparent_bg = true size = Vector2i(128, 128) Loading @@ -13,6 +13,7 @@ borderless = true transparent = true script = ExtResource("1_ctdir") dragon_speed = 100.0 dragon = NodePath("Dragon") [node name="DragDropDetector" type="Control" parent="."] layout_mode = 3 Loading @@ -22,4 +23,3 @@ offset_bottom = 40.0 script = ExtResource("2_2r6si") [node name="Dragon" parent="." instance=ExtResource("3_ctdir")] position = Vector2(64, 64)
src/dragon_instantiator.gd +2 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ func _calculate_relative_position(position: Vector2) -> Vector2i: func _instantiate_dragon(relative_position: Vector2i) -> Node: var dragon: Window = _dragon_template.instantiate() var dragon: Dragon = _dragon_template.instantiate() var window_position: Vector2i = DisplayServer.window_get_position() var window_size: Vector2i = DisplayServer.window_get_size() Loading @@ -36,8 +36,7 @@ func _instantiate_dragon(relative_position: Vector2i) -> Node: dragon.position = window_position + relative_position - dragon.size / 2 var size: float = _calculate_window_scale().y dragon.size = Vector2i(dragon.size.x * size, dragon.size.y * size) dragon.content_scale_factor = 0.5 dragon.set_scale(size) dragon.main_window_rect = Rect2i(window_position, window_size) dragon.show() Loading