Interface ICustomAbilityService
Creates, registers, activates, inspects, and removes namespaced custom abilities for one mod owner.
public interface ICustomAbilityService
Remarks
Calls are main-thread-only. A definition may be registered before game data is ready; activation can then return PendingGameData.
Properties
Capabilities
Gets explicit support flags for the current implementation.
CustomAbilityCapabilities Capabilities { get; }
Property Value
Entries
Gets a snapshot of registered custom-ability definitions.
IReadOnlyList<CustomAbilityDefinition> Entries { get; }
Property Value
Methods
Activate(ContentId, out ICustomAbilityActivation?)
Requests native activation and returns an owner-bound handle.
CustomAbilityActivationResult Activate(ContentId id, out ICustomAbilityActivation? activation)
Parameters
idContentIdactivationICustomAbilityActivation
Returns
Contains(ContentId)
Reports whether a registered definition is visible by canonical ID.
bool Contains(ContentId id)
Parameters
idContentId
Returns
TryCreateFromTemplate(ContentId, string, out CustomAbilityDefinition?, out string?)
Creates an immutable draft from a compatible native FTK2 ability template.
bool TryCreateFromTemplate(ContentId id, string templateAbilityId, out CustomAbilityDefinition? definition, out string? error)
Parameters
idContentIdtemplateAbilityIdstringdefinitionCustomAbilityDefinitionerrorstring
Returns
TryGet(ContentId, out CustomAbilityDefinition?)
Gets an owned or visible registered definition by canonical ID.
bool TryGet(ContentId id, out CustomAbilityDefinition? definition)
Parameters
idContentIddefinitionCustomAbilityDefinition
Returns
TryRegister(CustomAbilityDefinition, out string?)
Registers an owned definition without activating native content.
bool TryRegister(CustomAbilityDefinition definition, out string? error)
Parameters
definitionCustomAbilityDefinitionerrorstring
Returns
TryRemove(ContentId, out string?)
Removes an owned inactive definition.
bool TryRemove(ContentId id, out string? error)