/// <inheritdoc /> public override string GetText(Appearance appearance, AppearanceComponent?component) { var character = appearance.Character; var pronounProvider = _pronouns.GetPronounProvider(character); return(pronounProvider.GetForm(this.Form)); }
/// <inheritdoc /> public async Task <ModifyEntityResult> SetCharacterPronounsAsync ( Character character, string pronounFamily, CancellationToken ct = default ) { if (pronounFamily.IsNullOrWhitespace()) { return(ModifyEntityResult.FromError("You need to provide a pronoun family.")); } if (character.PronounProviderFamily == pronounFamily) { return(ModifyEntityResult.FromError("The character is already using that pronoun set.")); } var getPronounProviderResult = _pronouns.GetPronounProvider(pronounFamily); if (!getPronounProviderResult.IsSuccess) { return(ModifyEntityResult.FromError(getPronounProviderResult)); } var pronounProvider = getPronounProviderResult.Entity; character.PronounProviderFamily = pronounProvider.Family; await _database.SaveChangesAsync(ct); return(ModifyEntityResult.FromSuccess()); }