public void AddReward(ItemBaseInfo[] rewards, Vector3 startPos) { if (rewards != null) { List <ItemBaseInfo> list = new List <ItemBaseInfo>(); foreach (var reward in rewards) { var data = new TDataItemList(); if (TableManager.Get().ItemList.GetData(reward.ItemId, out data)) { switch (data.id) { case 1: // 골드 UserInfoManager.Get().GetUserInfo().gold += reward.Value; UI_GetProduction.Get().Initialize(ITEM_TYPE.GOLD, startPos, Mathf.Clamp(reward.Value, 5, 20)); break; case 2: // 다이아 UserInfoManager.Get().GetUserInfo().diamond += reward.Value; UI_GetProduction.Get().Initialize(ITEM_TYPE.DIAMOND, startPos, Mathf.Clamp(reward.Value, 5, 20)); break; case 11: // 열쇠 UserInfoManager.Get().GetUserInfo().key += reward.Value; UI_GetProduction.Get().Initialize(ITEM_TYPE.KEY, startPos, Mathf.Clamp(reward.Value, 5, 20)); break; default: // 주사위 { ItemBaseInfo rw = new ItemBaseInfo(); rw.ItemId = reward.ItemId; rw.Value = reward.Value; list.Add(rw); } break; } } } if (list.Count > 0) { gerResult.Initialize(list.ToArray(), false, false); } } }
/// <summary> /// 상점 인게임 재화 구매 처리 /// </summary> /// <param name="errorCode"></param> /// <param name="shopId"></param> /// <param name="shopProductInfo"></param> /// <param name="payItemInfo"></param> /// <param name="arrayRewardItemInfo"></param> /// <returns></returns> public bool ShowBuyResult(GameBaseShopErrorCode errorCode, int shopId, ShopProductInfo shopProductInfo, ShopProductInfo changeProductInfo, ItemBaseInfo payItemInfo, ItemBaseInfo[] arrayRewardItemInfo, QuestData[] arrayQuestData) { UI_Main.Get().obj_IndicatorPopup.SetActive(false); if (errorCode == GameBaseShopErrorCode.Success) { //구매한 상품에 대한 정보 //shopProductInfo switch (shopId) { case 1: case 2: case 3: case 5: case 6: RefreshShop(); break; } if (payItemInfo != null) { //소모한 재화에 대한 연출 처리 //payItemInfo ITEM_TYPE type; switch (payItemInfo.ItemId) { case 1: type = ITEM_TYPE.GOLD; UserInfoManager.Get().GetUserInfo().gold += payItemInfo.Value; break; case 2: type = ITEM_TYPE.DIAMOND; UserInfoManager.Get().GetUserInfo().diamond += payItemInfo.Value; break; case 11: type = ITEM_TYPE.KEY; UserInfoManager.Get().GetUserInfo().key += payItemInfo.Value; break; default: type = ITEM_TYPE.NONE; break; } UI_GetProduction.Get().RefreshProduct(type); } //구매한 상품에 대한 결과 값 //arrayRewardItemInfo ItemBaseInfo[] arr = new ItemBaseInfo[arrayRewardItemInfo.Length]; for (int i = 0; i < arrayRewardItemInfo.Length; i++) { Debug.Log($"GET == ID:{arrayRewardItemInfo[i].ItemId}, Value:{arrayRewardItemInfo[i].Value}"); arr[i] = new ItemBaseInfo(); arr[i].ItemId = arrayRewardItemInfo[i].ItemId; arr[i].Value = arrayRewardItemInfo[i].Value; } UI_Main.Get().AddReward(arr, ShopItem.pos); return(true); } else { Debug.Log($"에러 발생 : {errorCode}"); UI_ErrorMessage.Get().ShowMessage($"Error : {errorCode}"); return(false); } }