mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-06 07:50:22 +01:00
32 lines
922 B
GDScript
32 lines
922 B
GDScript
extends Node
|
|
|
|
var render_distance: int = 7
|
|
var fog_enabled: bool = true
|
|
|
|
var fog_distance: float = 32.0 # Not saved, only used during runtime.
|
|
var world_type: int = 0 # Not saved, only used during runtime.
|
|
|
|
var _save_path: String = "user://settings.json"
|
|
|
|
func _enter_tree() -> void:
|
|
if FileAccess.file_exists(_save_path):
|
|
var file := FileAccess.open(_save_path, FileAccess.READ)
|
|
while file.get_position() < file.get_length():
|
|
# Get the saved dictionary from the next line in the save file
|
|
var json := JSON.new()
|
|
json.parse(file.get_line())
|
|
var data: Dictionary = json.get_data()
|
|
render_distance = data["render_distance"]
|
|
fog_enabled = data["fog_enabled"]
|
|
else:
|
|
save_settings()
|
|
|
|
|
|
func save_settings() -> void:
|
|
var file := FileAccess.open(_save_path, FileAccess.WRITE)
|
|
var data := {
|
|
"render_distance": render_distance,
|
|
"fog_enabled": fog_enabled,
|
|
}
|
|
file.store_line(JSON.stringify(data))
|