Interface ICharacterKnownAbilityService
- Namespace
- FishMMO.Database.Npgsql.Services.Interfaces
- Assembly
- FishMMO-DB.dll
Service interface for managing a character's known abilities.
public interface ICharacterKnownAbilityService : IPersistManyAction<CharacterKnownAbilityData>, IDeleteByKeyVersionedAction<long>, IFetchCollectionByKeyAction<long, CharacterKnownAbilityData>
- Inherited Members
Remarks
Known ability persistence and deletion should be version-gated via the logical Version
so stale updates are rejected and newer authoritative updates win.
Methods
DeleteAsync(long, int, long, CancellationToken)
Deletes a known ability for the specified character if incomingVersion is newer.
Task<DatabaseResult> DeleteAsync(long characterId, int templateId, long incomingVersion, CancellationToken cancellationToken = default)
Parameters
characterIdlongThe character ID.
templateIdintThe ability template ID.
incomingVersionlongThe authoritative, monotonic version for this delete operation.
cancellationTokenCancellationTokenToken to cancel the operation.
Returns
- Task<DatabaseResult>
A DatabaseResult indicating success or failure.
PersistAsync(long, int, long, CancellationToken)
Persists a known ability for the specified character.
Task<DatabaseResult> PersistAsync(long characterId, int templateId, long incomingVersion, CancellationToken cancellationToken = default)
Parameters
characterIdlongThe character ID.
templateIdintThe ability template ID.
incomingVersionlongThe authoritative, monotonic version for this persist operation.
cancellationTokenCancellationTokenToken to cancel the operation.
Returns
- Task<DatabaseResult>
A DatabaseResult indicating success or failure.