Cow_Life_Sim_RPG/UI/MainMenu/SavesDisplayer.gd

86 lines
2.2 KiB
GDScript

extends Control
var dragged = false
var dragTimer = 1.2
var deleting = false
func _process(delta):
if dragged:
dragTimer -= delta
if dragTimer <= 0:
set_cow_pictures("res://Player/cow.png")
dragged = false
func set_cow_pictures(picturePath):
var displays = $SavesDisplayingDiv.get_children()
for i in range(displays.size()):
var currentDisplay = displays[i]
currentDisplay.set_cow_picture(picturePath)
func save_clicked(saveIndex):
var prefix = "player" + str(saveIndex + 1)
SaveManager.set_save_paths(prefix)
get_tree().change_scene_to_file("res://main_game.tscn")
func delete_save_clicked(saveIndex):
var prefix = "player" + str(saveIndex + 1)
SaveManager.set_save_paths(prefix)
SaveManager.delete_save()
update_save_displays()
func hide_delete_buttons():
deleting = false
var deleteButtons = $DeleteSaveButtons.get_children()
for i in range(deleteButtons.size()):
var currentDisplay = deleteButtons[i]
currentDisplay.visible = false
func show_delete_buttons():
deleting = true
var deleteButtons = $DeleteSaveButtons.get_children()
for i in range(deleteButtons.size()):
var currentDisplay = deleteButtons[i]
currentDisplay.visible = true
currentDisplay.clicked.connect(delete_save_clicked.bind(i))
func update_save_displays():
var displays = $SavesDisplayingDiv.get_children()
for i in range(displays.size()):
var currentDisplay = displays[i]
currentDisplay.set_save_num(i + 1)
var prefix = "player" + str(i + 1)
var savePath = "user://" + prefix + ".cfg"
SaveManager.set_save_paths(prefix)
SaveManager.load_skills()
var totalLevel = LevelManager.get_total_level()
currentDisplay.set_total_level(totalLevel)
var config = ConfigFile.new()
config.load(savePath)
if config.has_section("variables"):
currentDisplay.save_exists()
else:
currentDisplay.new_game_mode()
var questPoints = config.get_value("variables", "questPoints", 0)
currentDisplay.set_quest_point_count(questPoints)
currentDisplay.clicked.connect(save_clicked.bind(i))
func _on_delete_saves_pressed():
if !deleting:
show_delete_buttons()
else:
hide_delete_buttons()
func _on_dragged(offset):
dragged = true
dragTimer = 1.2
set_cow_pictures("res://Player/cowMouthOpen.png")