45 lines
909 B
GDScript
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
|