public abstract record class DefinitionAuthored, immutable, addressable content — the first of doc 28's four layers.
Remarks
An item, a quest, an ability, a recipe, a loot table, a currency, a battleground: all of them are a record deriving from this, authored as YAML with a type tag, built by the content build, and resolved through a DefinitionRegistry. A game's own !MyCustomDefinition is the same kind of object as the engine's, which is the seam that keeps the library set opinionated without being closed.
A record, so a definition is compared and copied by value, and so Address can be stamped on with a with expression by whoever knows the address — which is the content build, not the file. The file holds what a designer wrote; where it sits is the pipeline's answer, and a definition that carried its own address would be a definition that could disagree with where it was found.
⚠ Address and Id are set together or not at all. DefinitionCatalogBuilder is the only thing that sets them, and it derives the second from the first. Setting them apart is possible — they are ordinary init properties — and produces a definition whose id names something else, so do not.
Fields and properties (3)
public string AddressWhere the content build found it — items/flamebrand.
public DefId IdThe hash of Address — what the wire carries and a saved row stores.
public string TypeNameWhat this definition is called in a .vxdef type tag, for diagnostics.
Methods (1)
public virtual void CollectTags(ICollection<string> tags)Every tag this definition mentions, so the content build can bake the tag table.
Used by (111, showing 40)
- ContentTestsMmo.Content.Tests
- CreatureMmo.Shared
- CreatureDefinitionMmo.Shared
- CreatureLibraryMmo.Shared
- ReferenceTestsMmo.Content.Tests
- TypeRegistrationMmo.Shared
- DefinitionImporterVixen.Editor.Assets
- DefinitionImporterTestsVixen.Editor.Assets.Tests
- EventChainVixen.Editor.Gameplay.Quests
- EventChainProjectionVixen.Editor.Gameplay.Quests
- LootOutlineVixen.Editor.Gameplay.Loot
- AbilityDefinitionVixen.Gameplay.Combat
- AbilityLibraryVixen.Gameplay.Combat
- AbilityTemplateVixen.Gameplay.Combat
- AchievementVixen.Gameplay.Collections
- AchievementDefinitionVixen.Gameplay.Collections
- AffixDefinitionVixen.Gameplay.Items
- AffixPoolDefinitionVixen.Gameplay.Items
- AffixTemplateVixen.Gameplay.Items
- ChatChannelVixen.Gameplay.Chat
- ChatChannelDefinitionVixen.Gameplay.Chat
- ChatLibraryVixen.Gameplay.Chat
- CollectibleVixen.Gameplay.Collections
- CollectibleDefinitionVixen.Gameplay.Collections
- CollectionLibraryVixen.Gameplay.Collections
- CraftingLibraryVixen.Gameplay.Crafting
- CraftingTestsVixen.Gameplay.Crafting.Tests
- CurrencyVixen.Gameplay.Economy
- CurrencyDefinitionVixen.Gameplay.Economy
- DefinitionCatalogVixen.Gameplay
- DefinitionCatalogBuilderVixen.Gameplay
- DefinitionCatalogTestsVixen.Gameplay.Tests
- DefinitionContentTestsVixen.Gameplay.Content.Tests
- DefinitionRegistryVixen.Gameplay
- DefinitionRegistryTestsVixen.Gameplay.Tests
- DefinitionSerializationVixen.Gameplay
- DynamicEventDefinitionVixen.Gameplay.Quests
- DynamicEventTemplateVixen.Gameplay.Quests
- DynamicEventTestsVixen.Gameplay.Quests.Tests
- EconomyLibraryVixen.Gameplay.Economy