31 lines
753 B
GDScript
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
|