feat: route resources through typed content
This commit is contained in:
@@ -7,7 +7,10 @@ extends Resource
|
||||
@export var required_handler_ids: Array[StringName] = []
|
||||
@export var actions: Array[ActionDefinition] = []
|
||||
@export var professions: Array[ProfessionDefinition] = []
|
||||
@export var capability_tags: Array[CapabilityTagDefinition] = []
|
||||
@export var items: Array[ItemDefinition] = []
|
||||
@export var resources: Array[ResourceDefinition] = []
|
||||
@export var storages: Array[StorageDefinition] = []
|
||||
@export var enemies: Array[EnemyDefinition] = []
|
||||
|
||||
|
||||
@@ -23,7 +26,10 @@ func validate() -> Array[String]:
|
||||
errors.append("pack '%s' cannot require itself" % pack_id)
|
||||
_validate_actions(errors)
|
||||
_validate_professions(errors)
|
||||
_validate_capability_tags(errors)
|
||||
_validate_items(errors)
|
||||
_validate_resources(errors)
|
||||
_validate_storages(errors)
|
||||
_validate_enemies(errors)
|
||||
return errors
|
||||
|
||||
@@ -55,6 +61,33 @@ func _validate_items(errors: Array[String]) -> void:
|
||||
errors.append("ItemDefinition: " + error)
|
||||
|
||||
|
||||
func _validate_capability_tags(errors: Array[String]) -> void:
|
||||
for definition in capability_tags:
|
||||
if definition == null:
|
||||
errors.append("capability_tags contains a null definition")
|
||||
continue
|
||||
for error in definition.validate():
|
||||
errors.append("CapabilityTagDefinition: " + error)
|
||||
|
||||
|
||||
func _validate_resources(errors: Array[String]) -> void:
|
||||
for definition in resources:
|
||||
if definition == null:
|
||||
errors.append("resources contains a null definition")
|
||||
continue
|
||||
for error in definition.validate():
|
||||
errors.append("ResourceDefinition: " + error)
|
||||
|
||||
|
||||
func _validate_storages(errors: Array[String]) -> void:
|
||||
for definition in storages:
|
||||
if definition == null:
|
||||
errors.append("storages contains a null definition")
|
||||
continue
|
||||
for error in definition.validate():
|
||||
errors.append("StorageDefinition: " + error)
|
||||
|
||||
|
||||
func _validate_enemies(errors: Array[String]) -> void:
|
||||
for definition in enemies:
|
||||
if definition == null:
|
||||
|
||||
Reference in New Issue
Block a user