96 lines
3.5 KiB
GDScript
96 lines
3.5 KiB
GDScript
extends Control
|
|
|
|
var save_path = "user://map_scores.save"
|
|
var map_scores = {}
|
|
|
|
|
|
func LoadMap1() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_1.tscn")
|
|
pass # Replace with function body.
|
|
|
|
func LoadMap2() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_2.tscn")
|
|
pass # Replace with function body.
|
|
|
|
func LoadMap3() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_3.tscn")
|
|
pass # Replace with function body.
|
|
|
|
func LoadMap4() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_4.tscn")
|
|
pass # Replace with function body.
|
|
|
|
func LoadMap5() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_5.tscn")
|
|
pass # Replace with function body.
|
|
|
|
func LoadMap6() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Maps/map_6.tscn")
|
|
pass # Replace with function body.
|
|
|
|
|
|
|
|
func _ready() -> void:
|
|
loadData()
|
|
get_node("VBoxContainer/HBoxContainer/first/Button").connect("button_up", LoadMap1)
|
|
get_node("VBoxContainer/HBoxContainer/second/Button").connect("button_up", LoadMap2)
|
|
get_node("VBoxContainer/HBoxContainer/third/Button").connect("button_up", LoadMap3)
|
|
get_node("VBoxContainer/HBoxContainer/fourth/Button").connect("button_up", LoadMap4)
|
|
get_node("VBoxContainer/HBoxContainer/fith/Button").connect("button_up", LoadMap5)
|
|
get_node("VBoxContainer/HBoxContainer/sixth/Button").connect("button_up", LoadMap6)
|
|
|
|
var unlocker = true
|
|
for i in get_node("VBoxContainer").get_children():
|
|
for ii in i.get_children():
|
|
if ii.get_node("Label2").text == "Haven't finished yet":
|
|
if unlocker:
|
|
unlocker = false
|
|
ii.get_node("Button").get_child(0).hide()
|
|
ii.get_node("Button").disabled = false
|
|
else:
|
|
ii.get_node("Button").get_child(0).show()
|
|
ii.get_node("Button").disabled = true
|
|
else:
|
|
ii.get_node("Button").get_child(0).hide()
|
|
ii.get_node("Button").disabled = false
|
|
|
|
|
|
func loadData() -> void:
|
|
if FileAccess.file_exists(save_path):
|
|
var file = FileAccess.open(save_path, FileAccess.READ)
|
|
|
|
if file:
|
|
map_scores = file.get_var()
|
|
print(map_scores)
|
|
file.close()
|
|
get_node("VBoxContainer/HBoxContainer/first/Label2").text = "Haven't finished yet" if map_scores["Map1"] == 0 else "Scored: " + str(map_scores["Map1"]) + " out of 10"
|
|
get_node("VBoxContainer/HBoxContainer/second/Label2").text = "Haven't finished yet" if map_scores["Map2"] == 0 else "Scored: " + str(map_scores["Map2"]) + " out of 10"
|
|
get_node("VBoxContainer/HBoxContainer/third/Label2").text = "Haven't finished yet" if map_scores["Map3"] == 0 else "Scored: " + str(map_scores["Map3"]) + " out of 10"
|
|
get_node("VBoxContainer/HBoxContainer/fourth/Label2").text = "Haven't finished yet" if map_scores["Map4"] == 0 else "Scored: " + str(map_scores["Map4"]) + " out of 10"
|
|
get_node("VBoxContainer/HBoxContainer/fith/Label2").text = "Haven't finished yet" if map_scores["Map5"] == 0 else "Scored: " + str(map_scores["Map5"]) + " out of 10"
|
|
get_node("VBoxContainer/HBoxContainer/sixth/Label2").text = "Haven't finished yet" if map_scores["Map6"] == 0 else "Scored: " + str(map_scores["Map6"]) + " out of 10"
|
|
|
|
else:
|
|
map_scores["Map1"] = 0
|
|
map_scores["Map2"] = 0
|
|
map_scores["Map3"] = 0
|
|
map_scores["Map4"] = 0
|
|
map_scores["Map5"] = 0
|
|
map_scores["Map6"] = 0
|
|
|
|
save_scores()
|
|
loadData()
|
|
pass
|
|
|
|
|
|
func save_scores():
|
|
var file = FileAccess.open(save_path, FileAccess.WRITE)
|
|
if file:
|
|
file.store_var(map_scores)
|
|
file.close()
|
|
|
|
|
|
func _on_button_pressed() -> void:
|
|
get_tree().change_scene_to_file("res://Game/Menu/main.tscn")
|
|
pass # Replace with function body.
|