feat: route resources through typed content

This commit is contained in:
Rijad Zuzo
2026-08-12 20:51:01 +02:00
parent 4e4ae1a969
commit dc0f59fcf0
31 changed files with 1071 additions and 10 deletions
@@ -0,0 +1,30 @@
class_name CapabilityTagDefinition
extends Resource
const DOMAIN_ACTOR := &"actor"
const DOMAIN_TARGET := &"target"
const DOMAIN_ITEM := &"item"
const DOMAIN_RESOURCE := &"resource"
const DOMAIN_STORAGE := &"storage"
const VALID_DOMAINS := [
DOMAIN_ACTOR,
DOMAIN_TARGET,
DOMAIN_ITEM,
DOMAIN_RESOURCE,
DOMAIN_STORAGE,
]
@export var tag_id: StringName
@export var display_name: String
@export var domain: StringName
func validate() -> Array[String]:
var errors: Array[String] = []
if tag_id.is_empty():
errors.append("tag_id is empty")
if display_name.is_empty():
errors.append("display_name is empty for '%s'" % tag_id)
if domain not in VALID_DOMAINS:
errors.append("domain '%s' is invalid for '%s'" % [domain, tag_id])
return errors