oh-my-git/game.gd

39 lines
749 B
GDScript3
Raw Normal View History

2020-01-29 20:25:13 +01:00
extends Node
var _file = "user://savegame.json"
var state = {}
func _ready():
load_state()
2020-01-29 20:25:13 +01:00
func _initial_state():
return {}
2020-01-29 20:25:13 +01:00
func save_state() -> bool:
var savegame = File.new()
savegame.open(_file, File.WRITE)
savegame.store_line(to_json(state))
savegame.close()
return true
2020-01-29 20:25:13 +01:00
func load_state() -> bool:
var savegame = File.new()
if not savegame.file_exists(_file):
return false
savegame.open(_file, File.READ)
state = _initial_state()
var new_state = parse_json(savegame.get_line())
for key in new_state:
state[key] = new_state[key]
savegame.close()
return true
func run(command):
var output = []
OS.execute(command, [], true, output, true)
# Remove trailing newline.
return output[0].substr(0,len(output[0])-1)