Files
puzzle-quest/scripts/Database.gd
T

48 lines
1.2 KiB
GDScript
Raw Normal View History

2021-06-03 22:18:50 +02:00
extends Node
func initialize():
var database_manager = load(gddb_constants.c_addon_main_path + "core/db_man.gd").new()
2021-06-06 18:54:25 +02:00
var db_id = database_manager.load_database(save_database_in())
check_invalid_type(db_id)
check_invalid_version(db_id)
return database_manager.get_db_by_id(db_id)
2021-06-03 22:18:50 +02:00
2021-06-06 18:54:25 +02:00
func check_invalid_type(db_id):
2021-06-03 22:18:50 +02:00
if db_id == gddb_types.e_db_invalid_file:
2021-06-06 18:54:25 +02:00
print("[Database#check_invalid_type] Error invalid database file !")
2021-06-03 22:18:50 +02:00
OS.set_exit_code(1)
2021-06-06 18:54:25 +02:00
func check_invalid_version(db_id):
2021-06-03 22:18:50 +02:00
if db_id == gddb_types.e_db_invalid_ver:
2021-06-06 18:54:25 +02:00
print("[Database#check_invalid_version] Error invalid database version !")
2021-06-03 22:18:50 +02:00
OS.set_exit_code(1)
2021-06-06 18:54:25 +02:00
func save_database_in():
if OS.get_name() == "Android":
copy_database()
return android_path()
else:
return normal_path()
func android_path():
return "user://database.json"
func normal_path():
return "res://db/ahog.json"
func copy_database():
var database_copy = File.new()
if !database_copy.file_exists(android_path()):
var database_file = File.new()
database_file.open(normal_path(), File.READ)
database_copy.open(android_path(), File.WRITE)
database_copy.store_string(database_file.get_as_text())
database_copy.close()
database_file.close()