diff --git a/scenes/create_button.gd b/scenes/create_button.gd new file mode 100644 index 0000000..3eeefb3 --- /dev/null +++ b/scenes/create_button.gd @@ -0,0 +1,16 @@ +extends Button + + +@export var dragon_editor: PackedScene + + +func _on_button_up() -> void: + var editor: Window = dragon_editor.instantiate() + + var window_position: Vector2i = DisplayServer.window_get_position() + var window_size: Vector2i = DisplayServer.window_get_size() + + editor.position = window_position - editor.size / 2 + + editor.show() + add_child(editor) diff --git a/scenes/create_button.gd.uid b/scenes/create_button.gd.uid new file mode 100644 index 0000000..727c2a9 --- /dev/null +++ b/scenes/create_button.gd.uid @@ -0,0 +1 @@ +uid://cj4l3a6a8ro0r diff --git a/scenes/dragon_editor/dragon_editor.gd b/scenes/dragon_editor/dragon_editor.gd new file mode 100644 index 0000000..496ac81 --- /dev/null +++ b/scenes/dragon_editor/dragon_editor.gd @@ -0,0 +1,6 @@ +extends Window +class_name DragonEditor + + +func _on_close_requested() -> void: + queue_free() diff --git a/scenes/dragon_editor/dragon_editor.gd.uid b/scenes/dragon_editor/dragon_editor.gd.uid new file mode 100644 index 0000000..b9722bf --- /dev/null +++ b/scenes/dragon_editor/dragon_editor.gd.uid @@ -0,0 +1 @@ +uid://bfuos2kgfgber diff --git a/scenes/dragon_editor/dragon_editor.tscn b/scenes/dragon_editor/dragon_editor.tscn new file mode 100644 index 0000000..f851ad3 --- /dev/null +++ b/scenes/dragon_editor/dragon_editor.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=3 uid="uid://fut42ruut302"] + +[ext_resource type="Script" uid="uid://bfuos2kgfgber" path="res://scenes/dragon_editor/dragon_editor.gd" id="1_8vkll"] + +[node name="DragonEditor" type="Window"] +title = "Dragon Editor" +size = Vector2i(300, 500) +min_size = Vector2i(300, 500) +max_size = Vector2i(1000, 1000) +script = ExtResource("1_8vkll") + +[connection signal="close_requested" from="." to="." method="_on_close_requested"] diff --git a/scenes/main.tscn b/scenes/main.tscn index 98dc25d..98dca6d 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=5 format=3 uid="uid://ctytpqaed0yqx"] +[gd_scene load_steps=7 format=3 uid="uid://ctytpqaed0yqx"] [ext_resource type="Script" uid="uid://3kyt3shje5r1" path="res://scenes/main.gd" id="1_sugp2"] [ext_resource type="PackedScene" uid="uid://c7nfcgjxqeg7l" path="res://scenes/window/dragon_popup.tscn" id="2_jyhfs"] [ext_resource type="Texture2D" uid="uid://fdqnc2qrrvn1" path="res://assets/sprites/icon.svg" id="3_tbgi4"] [ext_resource type="PackedScene" uid="uid://miutbdsgccd1" path="res://scenes/dragons/dragon.tscn" id="4_jyhfs"] +[ext_resource type="Script" uid="uid://cj4l3a6a8ro0r" path="res://scenes/create_button.gd" id="4_tbgi4"] +[ext_resource type="PackedScene" uid="uid://fut42ruut302" path="res://scenes/dragon_editor/dragon_editor.tscn" id="5_tefeu"] [node name="Base" type="Node2D" node_paths=PackedStringArray("dragon_spots")] script = ExtResource("1_sugp2") @@ -11,6 +13,21 @@ dragon_template = ExtResource("2_jyhfs") dragon_ingame = ExtResource("4_jyhfs") dragon_spots = [NodePath("DragonSpot1"), NodePath("DragonSpot2"), NodePath("DragonSpot3")] +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Button" type="Button" parent="CanvasLayer"] +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -157.0 +offset_top = 50.0 +offset_right = -57.0 +offset_bottom = 150.0 +grow_horizontal = 0 +text = "crea" +script = ExtResource("4_tbgi4") +dragon_editor = ExtResource("5_tefeu") + [node name="Icon" type="Sprite2D" parent="."] position = Vector2(576, 324) scale = Vector2(9, 5.0625) @@ -24,3 +41,5 @@ position = Vector2(557, 239) [node name="DragonSpot3" type="Node2D" parent="."] position = Vector2(850, 360) + +[connection signal="button_up" from="CanvasLayer/Button" to="CanvasLayer/Button" method="_on_button_up"]