Interface ICustomAbilityService

Namespace
FTK2.ModAPI.Content.Abilities
Assembly
FTK2.ModAPI.dll

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

CustomAbilityCapabilities

Entries

Gets a snapshot of registered custom-ability definitions.

IReadOnlyList<CustomAbilityDefinition> Entries { get; }

Property Value

IReadOnlyList<CustomAbilityDefinition>

Methods

Activate(ContentId, out ICustomAbilityActivation?)

Requests native activation and returns an owner-bound handle.

CustomAbilityActivationResult Activate(ContentId id, out ICustomAbilityActivation? activation)

Parameters

id ContentId
activation ICustomAbilityActivation

Returns

CustomAbilityActivationResult

Contains(ContentId)

Reports whether a registered definition is visible by canonical ID.

bool Contains(ContentId id)

Parameters

id ContentId

Returns

bool

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

id ContentId
templateAbilityId string
definition CustomAbilityDefinition
error string

Returns

bool

TryGet(ContentId, out CustomAbilityDefinition?)

Gets an owned or visible registered definition by canonical ID.

bool TryGet(ContentId id, out CustomAbilityDefinition? definition)

Parameters

id ContentId
definition CustomAbilityDefinition

Returns

bool

TryRegister(CustomAbilityDefinition, out string?)

Registers an owned definition without activating native content.

bool TryRegister(CustomAbilityDefinition definition, out string? error)

Parameters

definition CustomAbilityDefinition
error string

Returns

bool

TryRemove(ContentId, out string?)

Removes an owned inactive definition.

bool TryRemove(ContentId id, out string? error)

Parameters

id ContentId
error string

Returns

bool