SessionZero-Client/sessionzero-client/scripts/models/datapack_model.gd

45 lines
909 B
GDScript

extends RefCounted
class_name DatapackModel
var guid: Guid
var name: String
var version: String
var author: String
var license: String
var description: String
var icon: String
var created_at: DateTime
var session_zero_version: String
var dependencies: Array[DatapackDependency]
func _init() -> void:
guid = Guid.new_guid()
created_at = DateTime.now()
func to_dict() -> Dictionary:
var deps_arr: Array = []
for d in dependencies:
deps_arr.append(d.to_dict())
return {
"guid": guid.to_string(),
"name": name,
"version": version,
"author": author,
"license": license,
"description": description,
"icon": icon,
"created_at": created_at.to_string(),
"session_zero_version": session_zero_version,
"dependencies": deps_arr
}
# TODO: Implement this
func from_dict(dict: Dictionary) -> DatapackModel:
var dp: DatapackModel = DatapackModel.new()
dp.guid = dict["guid"]
return dp