This commit is contained in:
Torsten 2025-11-16 16:21:58 +01:00
parent d0ae5807fd
commit fca44e1036
3 changed files with 44 additions and 4 deletions

View file

@ -285,6 +285,6 @@ script = ExtResource("8_4uh5x")
[node name="Startup" type="Node" parent="Logic"]
script = ExtResource("8_y3acc")
[node name="GroundMapManager" type="Node" parent="Logic"]
[node name="MapManager" type="Node" parent="Logic"]
unique_name_in_owner = true
script = ExtResource("1_fax2j")

View file

@ -9,6 +9,7 @@ var coord2tilename = {}
var tilename2coord = {}
signal selected_mapname_for_saving
signal selected_mapname_for_loading
func _ready():
load_csv()
@ -16,6 +17,7 @@ func _ready():
ground_map.hex_clicked.connect(_on_hex_clicked)
selected_mapname_for_saving.connect(_on_save_map)
selected_mapname_for_loading.connect(_on_load_map_from)
var atlas_texture = AtlasTexture.new()
var atlas_image = Image.new()
@ -91,7 +93,9 @@ func _on_map_item_selected(index: int) -> void: # 1 laden, 2 speichern, 3 speich
%MapItemList.deselect_all()
match index:
0: print("Neue Karte erstellen")
1: print("Karte laden")
1:
print("Karte laden")
load_map_from()
2:
print("Karte speichern: %s/%s" % [Global.settings.current_project_dir,Global.settings.current_map_name])
%ResourceSaver.saveMap(Global.settings.current_project_dir + "/" + Global.settings.current_map_name)
@ -127,7 +131,6 @@ func save_map_as():
Global.settings.current_map_name = filename
%MapName.text=filename
ResourceSaver.save(Global.settings, "user://settings.tres")
emit_signal("selected_mapname_for_saving", full_filename)
@ -135,3 +138,40 @@ func save_map_as():
func _on_save_map(full_filename):
%ResourceSaver.saveMap(full_filename)
func load_map_from():
#var file_dialog1 = FileDialog.new()
%FileDialog.mode_overrides_title = false
%FileDialog.title="Karte laden"
%FileDialog.access=FileDialog.ACCESS_FILESYSTEM
%FileDialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE
print("Setting map directory to {0}".format([Global.settings.current_project_dir]))
%FileDialog.set_current_dir(Global.settings.current_project_dir) # or any other path
%FileDialog.popup_centered()
%FileDialog.file_selected.connect(func(full_filename):
if not full_filename.ends_with(".tres"): full_filename = full_filename + ".tres"
#print("Mapname to save as: ", full_filename)
var filename:String = full_filename.split("/")[-1]
#print("Shortname: ", filename)
var dir_elems = full_filename.split("/")
var sublist= dir_elems.slice(0, dir_elems.size() - 1)
var dir_str = "/".join(sublist)
#var full_map_name = Global.settings.current_project_dir + "/" + Global.settings.current_map_name
Global.settings.current_project_dir = dir_str
Global.settings.current_map_name = filename
%MapName.text=filename
ResourceSaver.save(Global.settings, "user://settings.tres")
emit_signal("selected_mapname_for_loading", full_filename)
)
func _on_load_map_from(full_filename):
%ResourceSaver.loadMap(full_filename)

View file

@ -3,7 +3,7 @@ extends Node
@onready var ground_map:TileMapLayer = %GroundMapLayer
@onready var map_menu:Button = %MapMenu
@onready var map_menu_itemcontainer:VBoxContainer = %MapMenuContainer
@onready var map_manager:Node = %GroundMapManager
@onready var map_manager:Node = %MapManager
@onready var map_menu_item_list:Node = %MapItemList
@onready var palette_panel:PanelContainer = %PalettePanel