Load Map
This commit is contained in:
parent
d0ae5807fd
commit
fca44e1036
3 changed files with 44 additions and 4 deletions
|
|
@ -285,6 +285,6 @@ script = ExtResource("8_4uh5x")
|
||||||
[node name="Startup" type="Node" parent="Logic"]
|
[node name="Startup" type="Node" parent="Logic"]
|
||||||
script = ExtResource("8_y3acc")
|
script = ExtResource("8_y3acc")
|
||||||
|
|
||||||
[node name="GroundMapManager" type="Node" parent="Logic"]
|
[node name="MapManager" type="Node" parent="Logic"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
script = ExtResource("1_fax2j")
|
script = ExtResource("1_fax2j")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ var coord2tilename = {}
|
||||||
var tilename2coord = {}
|
var tilename2coord = {}
|
||||||
|
|
||||||
signal selected_mapname_for_saving
|
signal selected_mapname_for_saving
|
||||||
|
signal selected_mapname_for_loading
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
load_csv()
|
load_csv()
|
||||||
|
|
@ -16,6 +17,7 @@ func _ready():
|
||||||
ground_map.hex_clicked.connect(_on_hex_clicked)
|
ground_map.hex_clicked.connect(_on_hex_clicked)
|
||||||
|
|
||||||
selected_mapname_for_saving.connect(_on_save_map)
|
selected_mapname_for_saving.connect(_on_save_map)
|
||||||
|
selected_mapname_for_loading.connect(_on_load_map_from)
|
||||||
|
|
||||||
var atlas_texture = AtlasTexture.new()
|
var atlas_texture = AtlasTexture.new()
|
||||||
var atlas_image = Image.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()
|
%MapItemList.deselect_all()
|
||||||
match index:
|
match index:
|
||||||
0: print("Neue Karte erstellen")
|
0: print("Neue Karte erstellen")
|
||||||
1: print("Karte laden")
|
1:
|
||||||
|
print("Karte laden")
|
||||||
|
load_map_from()
|
||||||
2:
|
2:
|
||||||
print("Karte speichern: %s/%s" % [Global.settings.current_project_dir,Global.settings.current_map_name])
|
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)
|
%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
|
Global.settings.current_map_name = filename
|
||||||
|
|
||||||
%MapName.text=filename
|
%MapName.text=filename
|
||||||
|
|
||||||
ResourceSaver.save(Global.settings, "user://settings.tres")
|
ResourceSaver.save(Global.settings, "user://settings.tres")
|
||||||
|
|
||||||
emit_signal("selected_mapname_for_saving", full_filename)
|
emit_signal("selected_mapname_for_saving", full_filename)
|
||||||
|
|
@ -135,3 +138,40 @@ func save_map_as():
|
||||||
|
|
||||||
func _on_save_map(full_filename):
|
func _on_save_map(full_filename):
|
||||||
%ResourceSaver.saveMap(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)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ extends Node
|
||||||
@onready var ground_map:TileMapLayer = %GroundMapLayer
|
@onready var ground_map:TileMapLayer = %GroundMapLayer
|
||||||
@onready var map_menu:Button = %MapMenu
|
@onready var map_menu:Button = %MapMenu
|
||||||
@onready var map_menu_itemcontainer:VBoxContainer = %MapMenuContainer
|
@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 map_menu_item_list:Node = %MapItemList
|
||||||
|
|
||||||
@onready var palette_panel:PanelContainer = %PalettePanel
|
@onready var palette_panel:PanelContainer = %PalettePanel
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue