refactor: route core definitions through content catalog

This commit is contained in:
Rijad Zuzo
2026-08-12 20:13:50 +02:00
parent 758d240438
commit c218909649
6 changed files with 50 additions and 55 deletions
+15 -14
View File
@@ -30,6 +30,7 @@ static var _profession_list: Array[ProfessionDefinition] = []
static var _action_map: Dictionary = {}
static var _profession_map: Dictionary = {}
static var _profession_id_list: Array[StringName] = []
static var _catalog_errors: Array[String] = []
static var _cache_valid := false
@@ -41,19 +42,19 @@ static func _ensure_cache() -> void:
_action_map = {}
_profession_map = {}
_profession_id_list = []
for path in ACTION_PATHS:
var definition := load(path) as ActionDefinition
if definition != null:
_action_list.append(definition)
_action_map[definition.action_id] = definition
for path in PROFESSION_PATHS:
var definition := load(path) as ProfessionDefinition
if definition != null:
_profession_list.append(definition)
_profession_map[definition.profession_id] = definition
_profession_id_list.append(definition.profession_id)
_catalog_errors = []
var catalog := ContentCatalog.create_core()
if not catalog.is_valid():
_catalog_errors = catalog.get_errors()
_cache_valid = true
return
_action_list = catalog.get_actions()
_profession_list = catalog.get_professions()
for definition in _action_list:
_action_map[definition.action_id] = definition
for definition in _profession_list:
_profession_map[definition.profession_id] = definition
_profession_id_list.append(definition.profession_id)
_cache_valid = true
@@ -89,7 +90,7 @@ static func get_profession_ids() -> Array[StringName]:
static func validate() -> Array[String]:
_ensure_cache()
var errors: Array[String] = []
var errors: Array[String] = _catalog_errors.duplicate()
if _action_list.size() != ACTION_PATHS.size():
errors.append("One or more ActionDefinition resources failed to load")
if _profession_list.size() != PROFESSION_PATHS.size():