Files
2026-08-12 20:51:01 +02:00

31 lines
753 B
GDScript

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