diff --git a/hexmapper/scenes/MainMap/_MainMap.tscn b/hexmapper/scenes/MainMap/_MainMap.tscn index 1322cb4..dd75a44 100644 --- a/hexmapper/scenes/MainMap/_MainMap.tscn +++ b/hexmapper/scenes/MainMap/_MainMap.tscn @@ -8,7 +8,7 @@ [ext_resource type="Texture2D" uid="uid://bf0ux0t00blb7" path="res://assets/spritesheets/map_buildings_72x72_spritesheet.png" id="3_kyvod"] [ext_resource type="Script" uid="uid://bcrhouavyrrm" path="res://scenes/MainMap/map/cursor_map_layer.gd" id="4_qib1m"] [ext_resource type="Script" uid="uid://bqj8p0m6qt43k" path="res://scenes/MainMap/map/cursor_timer.gd" id="5_8wy1m"] -[ext_resource type="Script" uid="uid://csi8if4m6a78v" path="res://scenes/MainMap/karte_2.gd" id="7_cooet"] +[ext_resource type="Script" uid="uid://csi8if4m6a78v" path="res://scenes/MainMap/map_menu.gd" id="7_cooet"] [ext_resource type="Script" uid="uid://1nbd6r3bgx6i" path="res://scenes/MainMap/resource_saver.gd" id="8_4uh5x"] [ext_resource type="Script" uid="uid://b5v0k8cmkbrsr" path="res://scenes/MainMap/startup.gd" id="8_y3acc"] @@ -149,7 +149,7 @@ size_flags_vertical = 3 [node name="GroundMapLayer" type="TileMapLayer" parent="VBoxContainer/Map"] unique_name_in_owner = true -tile_map_data = PackedByteArray("AAAEAAMAAQAHAAEAAAAEAAIAAQAHAAEAAAAFAAIAAQAHAAEAAAAFAAEAAQAHAAEAAAAGAAEAAQAHAAEAAAAGAAAAAQADAAIAAAAHAAAAAQAHAAEAAAAHAP//AQADAAIAAAAIAP//AQAHAAEAAAAIAP7/AQAHAAEAAAAJAP7/AQAHAAEAAAAKAP7/AQAHAAEAAAAKAP3/AQAHAAEAAAALAP3/AQAHAAEAAAALAPz/AQAHAAEAAAAMAPz/AQAHAAEAAAAMAPv/AQAHAAEAAAANAPv/AQAHAAEAAAANAPr/AQAHAAEAAAAOAPr/AQAHAAEAAAAOAPn/AQADAAIAAAAPAPn/AQADAAIAAAAPAPj/AQAFAAAAAAAQAPj/AQADAAIAAAAKAPz/AQADAAIAAAAJAP3/AQADAAIAAAAIAAAAAQAHAAEAAAAJAAAAAQAHAAEAAAAJAP//AQAHAAEAAAAKAP//AQAHAAEAAAALAP7/AQAHAAEAAAAPAPr/AQAHAAEAAAAOAPv/AQAHAAEAAAANAPz/AQAHAAEAAAAMAP3/AQAHAAEAAAALAP//AQAHAAEAAAAMAP//AQAHAAEAAAAMAP7/AQAHAAEAAAAPAPv/AQAHAAEAAAAQAPr/AQADAAIAAAAQAPv/AQAHAAEAAAAOAPz/AQAHAAEAAAANAP3/AQAHAAEAAAAIAAEAAQAHAAEAAAAHAAEAAQAHAAEAAAAIAAIAAQAHAAEAAAAHAAIAAQAHAAEAAAAHAAMAAQAHAAEAAAAGAAMAAQAHAAEAAAAGAAIAAQAHAAEAAAAJAAIAAQAHAAEAAAAJAAEAAQAHAAEAAAAKAAEAAQAHAAEAAAAKAAAAAQAHAAEAAAALAAAAAQAHAAEAAAAIAAMAAQAHAAEAAAAHAAQAAQAHAAEAAAAGAAQAAQAHAAEAAAAGAAUAAQAHAAEAAAAFAAUAAQAHAAEAAAAHAAUAAQAHAAEAAAAIAAUAAQAHAAEAAAAIAAQAAQAHAAEAAAAJAAQAAQAHAAEAAAAJAAMAAQAHAAEAAAAKAAMAAQAHAAEAAAAKAAIAAQAHAAEAAAALAAIAAQAHAAEAAAALAAEAAQAHAAEAAAAMAAEAAQAHAAEAAAAMAAAAAQAHAAEAAAANAAAAAQAHAAEAAAAOAAAAAQAHAAEAAAAOAP//AQAHAAEAAAAPAP//AQAHAAEAAAAQAP//AQAHAAEAAAAQAP7/AQAHAAEAAAARAP7/AQAHAAEAAAARAP3/AQAHAAEAAAASAP3/AQAHAAEAAAASAP7/AQAHAAEAAAARAP//AQAHAAEAAAAQAAAAAQAHAAEAAAAPAAAAAQAHAAEAAAAPAAEAAQAHAAEAAAAOAAEAAQAHAAEAAAANAAEAAQAHAAEAAAANAAIAAQAHAAEAAAAMAAIAAQAHAAEAAAAMAAMAAQAHAAEAAAALAAMAAQAHAAEAAAALAAQAAQAHAAEAAAAKAAQAAQAHAAEAAAAKAAUAAQAHAAEAAAAJAAUAAQAHAAEAAAAJAAYAAQAHAAEAAAAOAAIAAQAHAAEAAAANAAMAAQAHAAEAAAAMAAQAAQAHAAEAAAAPAP7/AQAHAAEAAAAPAP3/AQAHAAEAAAAOAP3/AQAHAAEAAAANAP7/AQAHAAEAAAANAP//AQAHAAEAAAASAPz/AQAHAAEAAAATAPz/AQAHAAEAAAATAPv/AQAHAAEAAAAUAPv/AQAHAAEAAAAUAPr/AQAHAAEAAAAVAPr/AQAHAAEAAAAVAPn/AQAHAAEAAAAWAPn/AQAHAAEAAAAVAPj/AQAHAAEAAAAUAPf/AQAHAAEAAAATAPf/AQADAAIAAAASAPf/AQADAAIAAAARAPf/AQADAAIAAAARAPj/AQADAAIAAAAQAP3/AQAHAAEAAAARAPz/AQAHAAEAAAARAPv/AQAHAAEAAAASAPv/AQAHAAEAAAASAPr/AQAHAAEAAAATAPr/AQAHAAEAAAATAPn/AQAHAAEAAAAQAPz/AQAHAAEAAAAPAPz/AQAHAAEAAAAOAP7/AQAHAAEAAAASAPn/AQADAAIAAAARAPr/AQAHAAEAAAAFAAMAAQAHAAEAAAANAPn/AQAFAAAAAAAMAPr/AQADAAIAAAALAPr/AQADAAIAAAAKAPr/AQAHAAEAAAAKAPv/AQADAAIAAAAJAPv/AQAHAAEAAAAIAPv/AQAHAAEAAAAHAPv/AQAHAAEAAAAHAPz/AQAHAAEAAAAGAPz/AQAHAAEAAAAGAP3/AQADAAIAAAAFAP3/AQAHAAEAAAAFAP7/AQADAAIAAAAEAP7/AQAHAAEAAAAEAP//AQADAAIAAAADAP//AQAHAAEAAAADAAAAAQADAAIAAAAEAAAAAQADAAIAAAAJAPz/AQADAAIAAAAIAPz/AQADAAIAAAAIAP3/AQADAAIAAAAHAP3/AQADAAIAAAAGAP7/AQADAAIAAAAFAP//AQADAAIAAAAEAAEAAQADAAIAAAAFAAAAAQADAAIAAAAGAP//AQADAAIAAAAHAP7/AQADAAIAAAALAPv/AQADAAIAAAAQAPn/AQADAAIAAAARAPn/AQADAAIAAAASAPj/AQADAAIAAAATAPj/AQADAAIAAAAMAPn/AQAFAAAAAAALAPb/AQAFAAAAAAAMAPb/AQAFAAAAAAANAPb/AQAFAAAAAAANAPX/AQAFAAAAAAAOAPX/AQAFAAAAAAAPAPX/AQAFAAAAAAAQAPX/AQAFAAAAAAAPAPT/AQAFAAAAAAAOAPT/AQAFAAAAAAANAPf/AQAFAAAAAAAOAPf/AQAFAAAAAAAOAPb/AQAFAAAAAAAMAPf/AQAFAAAAAAAMAPj/AQAFAAAAAAANAPj/AQAFAAAAAAAOAPj/AQAFAAAAAAAPAPf/AQAFAAAAAAAPAPb/AQAFAAAAAAALAPj/AQAFAAAAAAALAPn/AQAFAAAAAAAQAPf/AQAFAAAAAAAQAPb/AQAFAAAAAAARAPb/AQAFAAAAAAARAPX/AQAFAAAAAAARAPT/AQAFAAAAAAAQAPT/AQAFAAAAAAAMAAoAAQABAAMAAAAOAAgAAQABAAMAAAAOAAwAAQABAAMAAAAPAAwAAQABAAMAAAAQAAwAAQABAAMAAAAQAAsAAQABAAMAAAARAAsAAQABAAMAAAARAAoAAQABAAMAAAAOAAcAAQABAAMAAAAPAAgAAQABAAMAAAAMAAkAAQABAAMAAAANAAoAAQABAAMAAAA=") +tile_map_data = PackedByteArray("AAAEAAMAAQAHAAEAAAAEAAIAAQAHAAEAAAAFAAIAAQAHAAEAAAAFAAEAAQAHAAEAAAAGAAEAAQAHAAEAAAAGAAAAAQADAAIAAAAHAAAAAQAHAAEAAAAHAP//AQADAAIAAAAIAP//AQAHAAEAAAAIAP7/AQAHAAEAAAAJAP7/AQAHAAEAAAAKAP7/AQAHAAEAAAAKAP3/AQAHAAEAAAALAP3/AQAHAAEAAAALAPz/AQAHAAEAAAAMAPz/AQAHAAEAAAAMAPv/AQAHAAEAAAANAPv/AQAHAAEAAAANAPr/AQAHAAEAAAAOAPr/AQAHAAEAAAAOAPn/AQADAAIAAAAPAPn/AQADAAIAAAAPAPj/AQAFAAAAAAAQAPj/AQADAAIAAAAKAPz/AQADAAIAAAAJAP3/AQADAAIAAAAIAAAAAQAHAAEAAAAJAAAAAQAHAAEAAAAJAP//AQAHAAEAAAAKAP//AQAHAAEAAAALAP7/AQAHAAEAAAAPAPr/AQAHAAEAAAAOAPv/AQAHAAEAAAANAPz/AQAHAAEAAAAMAP3/AQAHAAEAAAALAP//AQAHAAEAAAAMAP//AQAHAAEAAAAMAP7/AQAHAAEAAAAPAPv/AQAHAAEAAAAQAPr/AQADAAIAAAAQAPv/AQAHAAEAAAAOAPz/AQAHAAEAAAANAP3/AQAHAAEAAAAIAAEAAQAHAAEAAAAHAAEAAQAHAAEAAAAIAAIAAQAHAAEAAAAHAAIAAQAHAAEAAAAHAAMAAQAHAAEAAAAGAAMAAQAHAAEAAAAGAAIAAQAHAAEAAAAJAAIAAQAHAAEAAAAJAAEAAQAHAAEAAAAKAAEAAQAHAAEAAAAKAAAAAQAHAAEAAAALAAAAAQAHAAEAAAAIAAMAAQAHAAEAAAAHAAQAAQAHAAEAAAAGAAQAAQAHAAEAAAAGAAUAAQAHAAEAAAAFAAUAAQAHAAEAAAAHAAUAAQAHAAEAAAAIAAUAAQAHAAEAAAAIAAQAAQAHAAEAAAAJAAQAAQAHAAEAAAAJAAMAAQAHAAEAAAAKAAMAAQAHAAEAAAAKAAIAAQAHAAEAAAALAAIAAQAHAAEAAAALAAEAAQAHAAEAAAAMAAEAAQAHAAEAAAAMAAAAAQAHAAEAAAANAAAAAQAHAAEAAAAOAAAAAQAHAAEAAAAOAP//AQAHAAEAAAAPAP//AQAHAAEAAAAQAP//AQAHAAEAAAAQAP7/AQAHAAEAAAARAP7/AQAHAAEAAAARAP3/AQAHAAEAAAASAP3/AQAHAAEAAAASAP7/AQAHAAEAAAARAP//AQAHAAEAAAAQAAAAAQAHAAEAAAAPAAAAAQAHAAEAAAAPAAEAAQAHAAEAAAAOAAEAAQAHAAEAAAANAAEAAQAHAAEAAAANAAIAAQAHAAEAAAAMAAIAAQAHAAEAAAAMAAMAAQAHAAEAAAALAAMAAQAHAAEAAAALAAQAAQAHAAEAAAAKAAQAAQAHAAEAAAAKAAUAAQAHAAEAAAAJAAUAAQAHAAEAAAAJAAYAAQAHAAEAAAAOAAIAAQAHAAEAAAANAAMAAQAHAAEAAAAMAAQAAQAHAAEAAAAPAP7/AQAHAAEAAAAPAP3/AQAHAAEAAAAOAP3/AQAHAAEAAAANAP7/AQAHAAEAAAANAP//AQAHAAEAAAASAPz/AQAHAAEAAAATAPz/AQAHAAEAAAATAPv/AQAHAAEAAAAUAPv/AQAHAAEAAAAUAPr/AQAHAAEAAAAVAPr/AQAHAAEAAAAVAPn/AQAHAAEAAAAWAPn/AQAHAAEAAAAVAPj/AQAHAAEAAAAUAPf/AQAHAAEAAAATAPf/AQADAAIAAAASAPf/AQADAAIAAAARAPf/AQADAAIAAAARAPj/AQADAAIAAAAQAP3/AQAHAAEAAAARAPz/AQAHAAEAAAARAPv/AQAHAAEAAAASAPv/AQAHAAEAAAASAPr/AQAHAAEAAAATAPr/AQAHAAEAAAATAPn/AQAHAAEAAAAQAPz/AQAHAAEAAAAPAPz/AQAHAAEAAAAOAP7/AQAHAAEAAAASAPn/AQADAAIAAAARAPr/AQAHAAEAAAAFAAMAAQAHAAEAAAANAPn/AQAFAAAAAAAMAPr/AQADAAIAAAALAPr/AQADAAIAAAAKAPr/AQAHAAEAAAAKAPv/AQADAAIAAAAJAPv/AQAHAAEAAAAIAPv/AQAHAAEAAAAHAPv/AQAHAAEAAAAHAPz/AQAHAAEAAAAGAPz/AQAHAAEAAAAGAP3/AQADAAIAAAAFAP3/AQAHAAEAAAAFAP7/AQADAAIAAAAEAP7/AQAHAAEAAAAEAP//AQADAAIAAAADAP//AQAHAAEAAAADAAAAAQADAAIAAAAEAAAAAQADAAIAAAAJAPz/AQADAAIAAAAIAPz/AQADAAIAAAAIAP3/AQADAAIAAAAHAP3/AQADAAIAAAAGAP7/AQADAAIAAAAFAP//AQADAAIAAAAEAAEAAQADAAIAAAAFAAAAAQADAAIAAAAGAP//AQADAAIAAAAHAP7/AQADAAIAAAALAPv/AQADAAIAAAAQAPn/AQADAAIAAAARAPn/AQADAAIAAAASAPj/AQADAAIAAAATAPj/AQADAAIAAAAMAPn/AQAFAAAAAAALAPb/AQAFAAAAAAAMAPb/AQAFAAAAAAANAPb/AQAFAAAAAAANAPX/AQAFAAAAAAAOAPX/AQAFAAAAAAAPAPX/AQAFAAAAAAAQAPX/AQAFAAAAAAAPAPT/AQAFAAAAAAAOAPT/AQAFAAAAAAANAPf/AQAFAAAAAAAOAPf/AQAFAAAAAAAOAPb/AQAFAAAAAAAMAPf/AQAFAAAAAAAMAPj/AQAFAAAAAAANAPj/AQAFAAAAAAAOAPj/AQAFAAAAAAAPAPf/AQAFAAAAAAAPAPb/AQAFAAAAAAALAPj/AQAFAAAAAAALAPn/AQAFAAAAAAAQAPf/AQAFAAAAAAAQAPb/AQAFAAAAAAARAPb/AQAFAAAAAAARAPX/AQAFAAAAAAARAPT/AQAFAAAAAAAQAPT/AQAFAAAAAAA=") tile_set = SubResource("TileSet_oxvhj") script = ExtResource("1_74o3d") @@ -222,44 +222,27 @@ offset_bottom = 40.0 size_flags_horizontal = 0 size_flags_vertical = 0 -[node name="MapMenu" type="OptionButton" parent="UI/MenuTop"] +[node name="MapMenu" type="Button" parent="UI/MenuTop"] unique_name_in_owner = true layout_mode = 2 -selected = 0 -item_count = 5 -popup/item_0/text = "Karte" -popup/item_0/id = 3 -popup/item_1/text = "Neu" -popup/item_1/id = 4 -popup/item_2/text = "Laden" -popup/item_2/id = 0 -popup/item_3/text = "Speichern" -popup/item_3/id = 1 -popup/item_4/text = "Speichern als" -popup/item_4/id = 2 - -[node name="PaletteButton" type="Button" parent="UI/MenuTop"] -unique_name_in_owner = true -layout_mode = 2 -text = "Palette" -script = ExtResource("2_fax2j") - -[node name="Karte2" type="Button" parent="UI/MenuTop"] -layout_mode = 2 -text = "Karte2" +text = "Karte" script = ExtResource("7_cooet") -[node name="karte2_vbox" type="VBoxContainer" parent="UI/MenuTop/Karte2"] +[node name="MapMenuContainer" type="VBoxContainer" parent="UI/MenuTop/MapMenu"] unique_name_in_owner = true visible = false -layout_mode = 1 -anchors_preset = 15 +layout_mode = 0 anchor_right = 1.0 anchor_bottom = 1.0 +offset_left = 218.0 +offset_top = -40.0 +offset_right = 270.0 +offset_bottom = 40.0 grow_horizontal = 2 grow_vertical = 2 -[node name="ItemList" type="ItemList" parent="UI/MenuTop/Karte2/karte2_vbox"] +[node name="MapItemList" type="ItemList" parent="UI/MenuTop/MapMenu/MapMenuContainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(125, 120) layout_mode = 2 size_flags_vertical = 3 @@ -269,6 +252,12 @@ item_1/text = "Laden" item_2/text = "Speichern" item_3/text = "Speichern als" +[node name="PaletteButton" type="Button" parent="UI/MenuTop"] +unique_name_in_owner = true +layout_mode = 2 +text = "Palette" +script = ExtResource("2_fax2j") + [node name="Dialogs" type="Node2D" parent="UI"] [node name="FileDialog" type="FileDialog" parent="UI/Dialogs"] diff --git a/hexmapper/scenes/MainMap/karte_2.gd b/hexmapper/scenes/MainMap/karte_2.gd deleted file mode 100644 index 8fe7b15..0000000 --- a/hexmapper/scenes/MainMap/karte_2.gd +++ /dev/null @@ -1,15 +0,0 @@ -extends Button - -@onready var listcontainer = %karte2_vbox - -func _ready(): - pressed.connect(_show_item_list) - - -func _show_item_list(): - if listcontainer.position.y < 0 : listcontainer.position.y = 45 - - if listcontainer.visible: - listcontainer.hide() - else: - listcontainer.show() diff --git a/hexmapper/scenes/MainMap/map/map_manager.gd b/hexmapper/scenes/MainMap/map/map_manager.gd index f460a84..958b9dd 100644 --- a/hexmapper/scenes/MainMap/map/map_manager.gd +++ b/hexmapper/scenes/MainMap/map/map_manager.gd @@ -2,7 +2,7 @@ extends Node @onready var vbox_palette: VBoxContainer = %PaletteContainer @onready var ground_map = %GroundMapLayer - +@onready var map_menu_container = %MapMenuContainer var content = null var coord2tilename = {} @@ -85,11 +85,12 @@ func get_tile_texcoord(str_palette:String, tile_name:String) -> Vector2i: print("get_tile_textcoord tile_name:", tile_name) var ret_v2 = Vector2(0,0) return ret_v2 + -func _on_opt_map_item_selected(index: int) -> void: # 1 laden, 2 speichern, 3 speichern als +func _on_map_item_selected(index: int) -> void: # 1 laden, 2 speichern, 3 speichern als match index: - 1: print("Neue Karte erstellen") - 2: print("Karte laden") - 3: print("Karte speichern") - 4: print("Karte speichern als") - + 0: print("Neue Karte erstellen") + 1: print("Karte laden") + 2: print("Karte speichern") + 3: print("Karte speichern als") + map_menu_container.hide() diff --git a/hexmapper/scenes/MainMap/map_menu.gd b/hexmapper/scenes/MainMap/map_menu.gd new file mode 100644 index 0000000..1be218c --- /dev/null +++ b/hexmapper/scenes/MainMap/map_menu.gd @@ -0,0 +1,16 @@ +extends Button + +@onready var listcontainer = %MapMenuContainer +@onready var map_item_list = %MapItemList + +func _ready(): + pressed.connect(_show_item_list) + +func _show_item_list(): + listcontainer.position.x=self.get_parent().position.x + if listcontainer.position.y < 0 : listcontainer.position.y = 38 + + if listcontainer.visible: + listcontainer.hide() + else: + listcontainer.show() diff --git a/hexmapper/scenes/MainMap/karte_2.gd.uid b/hexmapper/scenes/MainMap/map_menu.gd.uid similarity index 100% rename from hexmapper/scenes/MainMap/karte_2.gd.uid rename to hexmapper/scenes/MainMap/map_menu.gd.uid diff --git a/hexmapper/scenes/MainMap/startup.gd b/hexmapper/scenes/MainMap/startup.gd index 48df61b..b1037d2 100644 --- a/hexmapper/scenes/MainMap/startup.gd +++ b/hexmapper/scenes/MainMap/startup.gd @@ -1,8 +1,11 @@ extends Node @onready var ground_map:TileMapLayer = %GroundMapLayer -@onready var map_menu:OptionButton = %MapMenu +@onready var map_menu:Button = %MapMenu +@onready var map_menu_itemcontainer:VBoxContainer = %MapMenuContainer @onready var map_manager:Node = %GroundMapManager +@onready var map_menu_item_list:Node = %MapItemList + @onready var palette_panel:PanelContainer = %PalettePanel @onready var map_cursor_timer:Timer = %MapCursorTimer @onready var menu_top:HBoxContainer = %MenuTop @@ -12,7 +15,8 @@ signal selected_map_for_loading(map_file_name:String) func _ready(): selected_map_for_loading.connect(%ResourceSaver.loadMap) - map_menu.item_selected.connect(map_manager._on_opt_map_item_selected) + #map_menu.pressed.connect(map_manager._on_map_menu_toggled) + map_menu_item_list.item_selected.connect(map_manager._on_map_item_selected) palette_panel.mouse_entered.connect(map_cursor_timer.disable_cursor) palette_panel.mouse_exited.connect(map_cursor_timer.enable_cursor)