inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lập trình hệ thống Unity Pt.2 - Gói tất cả trong một về các hệ thống cốt lõi để hiện thực hóa trò chơi thương mại

Tải và lưu dữ liệu người dùng trên DB trực tuyến Pt.4 (UserGoodsData, UserSettingsData, UserPlayData, UserAchievementData, UserInventoryData)

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

Đã giải quyết

69

작성자 없음

0 câu hỏi đã được viết

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 객체지향

Câu trả lời 1

0

burningcarrot

안녕하세요! BurningCarrot입니다.

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

[인앱결제] 질문

0

83

2

Firebase iOS 빌드 시 중복심볼

0

110

2

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

0

76

2

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

0

143

3

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

0

90

1

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

0

93

2

사전 등록 관련 재질문

0

65

1

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

0

183

2

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

0

97

2

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

0

78

2

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

0

90

2

통합 에셋

0

72

2

구글 AD 미디에이션

0

184

2

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

0

179

2

스팀 어드레서블

0

115

1

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

0

127

2

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

0

548

2

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

0

229

2

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

0

626

2

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

0

768

4

LogViewer 설치 시 Warning 로그

0

207

1

구매 환불 처리 과정

0

252

2

열심히 보고있습니다!

0

155

2

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

0

154

1