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");
                }
            }
        }