private async UniTask SaveCharacterRoutine(PlayerCharacterData playerCharacterData, List <CharacterBuff> summonBuffs) { if (playerCharacterData != null && !savingCharacters.Contains(playerCharacterData.Id)) { savingCharacters.Add(playerCharacterData.Id); // Update character await DbServiceClient.UpdateCharacterAsync(new UpdateCharacterReq() { CharacterData = playerCharacterData, }); await DbServiceClient.SetSummonBuffsAsync(new SetSummonBuffsReq() { CharacterId = playerCharacterData.Id, SummonBuffs = summonBuffs, }); savingCharacters.Remove(playerCharacterData.Id); if (LogInfo) { Logging.Log(LogTag, "Character [" + playerCharacterData.Id + "] Saved"); } } }