해결된 질문
작성
·
13
·
수정됨
0
private void ConvertFirestoreDictToData(Dictionary<string, object> dict)
{
EquippedWeaponData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedWeaponData"]);
EquippedShieldData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedShieldData"]);
EquippedChestArmourData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedChestArmourData"]);
EquippedBootsData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedBootsData"]);
EquippedGlovesData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedGlovesData"]);
EquippedAccessoryData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedAccessoryData"]);
InventoryItemDataList = ConvertDictToInventoryList((List<object>)dict["InventoryItemDataList"]);
if(dict.TryGetValue("EquippedWeaponData", out var equippedWeaponDataValue) && equippedWeaponDataValue is Dictionary<string, object> equippedWeaponDataDict)
EquippedWeaponData = ConvertDictToUserItemData(equippedWeaponDataDict);
if (dict.TryGetValue("EquippedShieldData", out var equippedShieldDataValue) && equippedShieldDataValue is Dictionary<string, object> equippedShieldDataDict)
EquippedShieldData = ConvertDictToUserItemData(equippedShieldDataDict);
if (dict.TryGetValue("EquippedChestArmourData", out var equippedChestArmorDataValue) && equippedChestArmorDataValue is Dictionary<string, object> equippedChestArmorDataDict)
EquippedChestArmourData = ConvertDictToUserItemData(equippedChestArmorDataDict);
if (dict.TryGetValue("EquippedBootsData", out var equippedBootsDataValue) && equippedBootsDataValue is Dictionary<string, object> equippedBootsDataDict)
EquippedBootsData = ConvertDictToUserItemData(equippedBootsDataDict);
if (dict.TryGetValue("EquippedGlovesData", out var equippedGlovesDataValue) && equippedGlovesDataValue is Dictionary<string, object> equippedGlovesDataDict)
EquippedGlovesData = ConvertDictToUserItemData(equippedGlovesDataDict);
if (dict.TryGetValue("EquippedAccessoryData", out var equippedAccessoryDataValue) && equippedAccessoryDataValue is Dictionary<string, object> equippedAccessoryDataDict)
EquippedAccessoryData = ConvertDictToUserItemData(equippedAccessoryDataDict);
if (dict.TryGetValue("InventoryItemDataList", out var inventoryItemDataListValue) && inventoryItemDataListValue is List<object> inventoryItemDataList)
InventoryItemDataList = ConvertDictToInventoryList(inventoryItemDataList);
}
위와 같이 수정하셨는데, trygetvalue로 체크하는것으로 바꾸었으니 아래와 같은 부분을 지워주는게 맞지 않나요? 안그러면 중복 처리 되는게 아닌가요?
EquippedWeaponData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedWeaponData"]);
EquippedShieldData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedShieldData"]);
EquippedChestArmourData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedChestArmourData"]);
EquippedBootsData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedBootsData"]);
EquippedGlovesData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedGlovesData"]);
EquippedAccessoryData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedAccessoryData"]);
InventoryItemDataList = ConvertDictToInventoryList((List<object>)dict["InventoryItemDataList"]);