feat: route resources through typed content
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user