Karte speichern als...

This commit is contained in:
Torsten 2025-11-16 13:05:55 +01:00
parent 466c4d3530
commit d0ae5807fd
2 changed files with 25 additions and 9 deletions

View file

@ -4,17 +4,19 @@ extends Node
@onready var ground_map = %GroundMapLayer
@onready var map_menu_container = %MapMenuContainer
@onready var ui_logic = %UILogic
var content = null
var coord2tilename = {}
var tilename2coord = {}
signal selected_mapname_for_saving
func _ready():
load_csv()
ground_map.hex_clicked.connect(_on_hex_clicked)
selected_mapname_for_saving.connect(_on_save_map)
var atlas_texture = AtlasTexture.new()
var atlas_image = Image.new()
@ -112,11 +114,24 @@ func save_map_as():
%FileDialog.file_selected.connect(func(full_filename):
if not full_filename.ends_with(".tres"): full_filename = full_filename + ".tres"
print("Selected file: ", full_filename)
#print("Mapname to save as: ", full_filename)
var filename:String = full_filename.split("/")[-1]
print("Shortname: ", filename)
Global.settings.current_map_name = filename
#save_settings()
#print("Shortname: ", filename)
#emit_signal("selected_map_for_loading", full_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_saving", full_filename)
)
func _on_save_map(full_filename):
%ResourceSaver.saveMap(full_filename)

View file

@ -13,7 +13,8 @@ func saveMap(absolute_map_filename:String):
print("Number of used cells: %s" % [cell_count])
for cell_pos:Vector2i in %GroundMapLayer.get_used_cells():
var tile_id = %GroundMapLayer.get_cell_source_id(cell_pos)
#var tile_id = %GroundMapLayer.get_cell_source_id(cell_pos) Letzen Endes nicht benötigt, weil die atlas_coords verwendet werden
var atlas_coords = %GroundMapLayer.get_cell_atlas_coords(cell_pos)
var source_id = %GroundMapLayer.get_cell_source_id(cell_pos)
#print("Storing %s,%s,%s" % [cell_pos, source_id, atlas_coords])
@ -28,7 +29,7 @@ func saveMap(absolute_map_filename:String):
func loadMap(map_file_name):
%GroundMapLayer.clear()
print("loadMap: {0}".format([map_file_name]))
print("ResourceSave.loadMap: {0}".format([map_file_name]))
var map:MapData = ResourceLoader.load(map_file_name)
for tile_info in map.ground_tiles:
var cell_pos = tile_info[0]