86 lines
2.2 KiB
GDScript
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")
|