Skip to content

Commit 90236c7

Browse files
Fix achievement and highscore systems not writing files to user's application data folder
1 parent 764ce53 commit 90236c7

File tree

3 files changed

+18
-22
lines changed

3 files changed

+18
-22
lines changed

source/meta/Score.gd

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,12 @@ extends Node
22

33
signal scored
44

5+
const USER_PATH = "user://highscore"
56
var current_score = 0 setget set_score, get_score
67
var high_score = 0
78

89
func _ready():
9-
var f = File.new()
10-
if f.file_exists("user://highscore"):
11-
f.open("user://highscore", f.READ)
12-
high_score = f.get_var()
13-
f.close()
14-
else:
15-
f.open("user://highscore", f.WRITE)
16-
f.store_var(high_score)
17-
f.close()
10+
read_highscore()
1811

1912
func set_score(value):
2013
current_score = value
@@ -30,16 +23,20 @@ func get_score():
3023
return(current_score)
3124

3225
func write_highscore():
33-
var f = File.new()
34-
if f.file_exists("user://highscore"):
35-
f.open("user://highscore", f.WRITE)
36-
f.store_var(high_score)
37-
f.close()
26+
var file = File.new()
27+
if file.file_exists(USER_PATH):
28+
file.open(USER_PATH, file.WRITE)
29+
else:
30+
file.open(USER_PATH, file.WRITE_READ)
31+
file.store_var(high_score)
32+
file.close()
3833

3934
func read_highscore():
40-
var f = File.new()
41-
if f.file_exists("user://highscore"):
42-
f.open("user://highscore", f.READ)
43-
high_score = f.get_var()
44-
f.close()
35+
var file = File.new()
36+
if file.file_exists(USER_PATH):
37+
file.open(USER_PATH, file.READ)
38+
high_score = file.get_var()
39+
file.close()
40+
else:
41+
write_highscore()
4542
return(high_score)

source/meta/Score.tscn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
[ext_resource path="res://meta/Score.gd" type="Script" id=1]
44

5-
65
[node name="Score" type="Node"]
76
script = ExtResource( 1 )
87

source/meta/achievements/AchievementsDictionary.gd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ func read_achievements():
2626

2727
func write_achievements():
2828
var file = File.new()
29-
file.open(USER_PATH, file.WRITE)
29+
file.open(USER_PATH, file.WRITE_READ)
3030
file.store_string(to_json(_dict))
3131
file.close()
32-
32+
3333
func set_achievement_progress(achievement_name, new_value):
3434
var achievement = _get_achievement(achievement_name)
3535
var is_complete = is_achievement_complete(achievement_name)

0 commit comments

Comments
 (0)