mirror of
https://github.com/RPG-Research/bcirpg.git
synced 2024-04-16 14:23:01 +00:00
Added the ability to save character data from add_character.tscn, to CSV. Working on loading next
This commit is contained in:
parent
b092a68ca7
commit
347e48080b
@ -42,19 +42,64 @@ func _prep_PlayerCharacter_Template():
|
|||||||
pSingleton.armor = Armor.text
|
pSingleton.armor = Armor.text
|
||||||
pSingleton.quote = Quote.text
|
pSingleton.quote = Quote.text
|
||||||
|
|
||||||
func _on_But_SaveChar_pressed() -> void:
|
|
||||||
_prep_PlayerCharacter_Template()
|
|
||||||
$Title/FileDialog.popup()
|
|
||||||
|
|
||||||
#DKM TEMP: this code was inherited and it needs pretty substantial
|
func save_data_to_csv(data: Array, file_path: String):
|
||||||
# overhaul for use in the module, depending on toolset use.
|
var file = File.new()
|
||||||
# For now all the labels are individual lineEdits we need to grab.
|
if file.open(file_path, File.WRITE) == OK:
|
||||||
func _on_FileDialog_file_selected(path: String) -> void:
|
for row in data:
|
||||||
# This function runs when you hit the button to save your file, after you selected the name and location
|
file.store_string(format_row(row))
|
||||||
# TODO: Create the CSV File, Populate the CSV File, workout where it saves to.
|
file.close()
|
||||||
|
print("Data saved to ", file_path)
|
||||||
|
else:
|
||||||
|
print("Failed to open", file_path, "for writing.")
|
||||||
|
|
||||||
|
func format_row(row_data: Array) -> String:
|
||||||
|
# Convert the array of data to a comma-separated string
|
||||||
|
var formatted_row = ""
|
||||||
|
for i in range(row_data.size()):
|
||||||
|
formatted_row += str(row_data[i])
|
||||||
|
if i < row_data.size() - 1:
|
||||||
|
formatted_row += ","
|
||||||
|
formatted_row += "\n"
|
||||||
|
return formatted_row
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_SaveChar_pressed():
|
||||||
|
|
||||||
var pc = get_node("/root/PlayerCharacter")
|
_prep_PlayerCharacter_Template()
|
||||||
var newCharFile = File.new()
|
|
||||||
newCharFile.open(path, 2)
|
|
||||||
|
|
||||||
|
var file_path = "user://character_data.csv"
|
||||||
|
|
||||||
|
# To Do. Format data into the correct table.
|
||||||
|
|
||||||
|
var input_data = [
|
||||||
|
["Name", "Profession", "Strength", "Intellect", "Willpower", "Charm", "Weapon", "Armor", "Quote"],
|
||||||
|
[pSingleton.name, pSingleton.profession, pSingleton.strength, pSingleton.intellect,
|
||||||
|
pSingleton.willpower, pSingleton.charm, pSingleton.weapon, pSingleton.armor, pSingleton.quote],
|
||||||
|
]
|
||||||
|
|
||||||
|
save_data_to_csv(input_data, file_path)
|
||||||
|
|
||||||
|
##DKM TEMP: this code was inherited and it needs pretty substantial
|
||||||
|
## overhaul for use in the module, depending on toolset use.
|
||||||
|
## For now all the labels are individual lineEdits we need to grab.
|
||||||
|
#func _on_FileDialog_file_selected(path: String) -> void:
|
||||||
|
## This function runs when you hit the button to save your file, after you selected the name and location
|
||||||
|
## TODO: Create the CSV File, Populate the CSV File, workout where it saves to.
|
||||||
|
#
|
||||||
|
# var pc = get_node("/root/PlayerCharacter")
|
||||||
|
# var newCharFile = File.new()
|
||||||
|
# newCharFile.open(path, 2)
|
||||||
|
#
|
||||||
|
## var file_path = "user://character_data.csv"
|
||||||
|
##
|
||||||
|
## var input_data = [
|
||||||
|
## ["Name", "Age", "Score"],
|
||||||
|
## ["John", 25, 85],
|
||||||
|
## ["Alice", 30, 92],
|
||||||
|
## ["Bob", 28, 78],
|
||||||
|
##]
|
||||||
|
##
|
||||||
|
## save_data_to_csv(input_data, file_path)
|
||||||
|
##
|
||||||
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user