Files
2026-08-12 22:10:59 +02:00

32 lines
1.0 KiB
GDScript

class_name SocialConsequenceDefinition
extends Resource
@export var consequence_id: StringName
@export var display_name: String
@export_multiline var description: String
@export var event_type_id: StringName
@export var relationship_dimension_id: StringName
@export var parameters: Dictionary = {}
func validate() -> Array[String]:
var errors: Array[String] = []
if consequence_id.is_empty():
errors.append("consequence_id is empty")
if display_name.is_empty():
errors.append("display_name is empty for social consequence '%s'" % consequence_id)
if event_type_id.is_empty():
errors.append("event_type_id is empty for social consequence '%s'" % consequence_id)
if relationship_dimension_id not in RelationshipStateRecord.DIMENSIONS:
errors.append(
(
"social consequence '%s' references unknown relationship dimension '%s'"
% [consequence_id, relationship_dimension_id]
)
)
for error in DefinitionParameterValidator.validate(
parameters, "Social consequence '%s'" % consequence_id
):
errors.append(error)
return errors