inflearn logo
강의

講義

知識共有

Unityシステムプログラミング Pt.2 - 商用ゲーム実装のための核心システムオールインワンパッケージ

ユーザーデータオンラインDBロード及び保存 Pt.4 (UserGoodsData, UserSettingsData, UserPlayData, UserAchievementData, UserInventoryData)

18 유저 데이터 온라인DB 로드 및 저장 PT4의 UserInventoryData 클래스에 대하여

解決済みの質問

65

작성자 없음

投稿した質問数 0

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

C# unity 객체지향

回答 1

0

burningcarrot

안녕하세요! BurningCarrot입니다.

확인 감사합니다. 중복된 코드는 삭제하여 수업 자료에 재업로드해 두었습니다. 🙂

[인앱결제] 질문

0

79

2

Firebase iOS 빌드 시 중복심볼

0

106

2

인앱결제 버전 업데이트된 버전이 강의에 반영되어있을까요?

0

75

2

인앱결제 버전 변경에 따른 질문

0

142

3

파이어베이스 이벤트 로그 수집관련 질문입니다.

0

88

1

파이어베이스 관련 질문입니다.

0

90

2

사전 등록 관련 재질문

0

62

1

구글 플레이 콘솔 사전 예약 등록에 대해.

0

180

2

우편 기능에 대해 궁금합니다.

0

95

2

41-원격 리소스 다운로드 강의의 후반에 실습할 텍스쳐가 없습니다.

0

75

2

로컬 알림과 다국어 지원에 대해 궁금합니다.

0

89

2

통합 에셋

0

70

2

구글 AD 미디에이션

0

178

2

구글로그인 인증 에러 문제 살려주세요 ㅠㅠ

0

169

2

스팀 어드레서블

0

114

1

이미 리소스 다운받은 후 다시 실행시 리소스 인식 문제

0

125

2

로컬라이즈 어셋 각 언어별 폰트적용

0

535

2

강의 : Addressables를 활용한 어셋 관리 및 로딩 처리 문의

0

229

2

세계 시간 API 서버 이슈로 대체할만한 API 아시는분 계신가요?

0

617

2

안녕하세요 구글로그인 SDK 적용하고 빌드문제가있어 질문드립니다.

0

762

4

LogViewer 설치 시 Warning 로그

0

206

1

구매 환불 처리 과정

0

250

2

열심히 보고있습니다!

0

153

2

자막이 누락된 강의에 자막 추가해 주실 수 있을까요?

0

152

1