/// <summary> /// 모든 상점 초기화 /// </summary> /// <param name="errorCode">네트워크 결과 값</param> /// <param name="arrayShopInfo">상점 결과 값</param> /// <returns>네트워크 처리가 정상적으로 됐는지 여부</returns> private bool SetAllShop(GameBaseShopErrorCode errorCode, ShopInfo[] arrayShopInfo) { UI_Main.Get().obj_IndicatorPopup.SetActive(false); if (errorCode == GameBaseShopErrorCode.Success) { isInitialized = true; #if ENABLE_LOG for (int i = 0; i < arrayShopInfo.Length; ++i) { string str = $"ShopID:{arrayShopInfo[i].shopId}, r:{arrayShopInfo[i].resetRemainTime}"; foreach (var productInfo in arrayShopInfo[i].arrayProductInfo) { str += $"\nProductID:{productInfo.shopProductId}, BuyCount:{productInfo.buyCount}"; } Debug.Log(str); } #endif for (int i = 0; i < arrayShopInfo.Length; i++) { var shop = listShop.Find(s => s.shopID == arrayShopInfo[i].shopId); shop.EnableContent(); shop.Initialize(arrayShopInfo[i]); } // 초기화 안된 상점 비활성화 for (int i = 0; i < listShop.Count; i++) { if (listShop[i].isInitialized == false) { listShop[i].gameObject.SetActive(false); } } if (isShowGoldShop) { Invoke("ScrollToGoldShop", 0.1f); } else if (isShowDiamondShop) { Invoke("ScrollToDiamondShop", 0.1f); } return(true); } else { Debug.Log($"에러 발생 : {errorCode}"); UI_ErrorMessage.Get().ShowMessage($"Error : {errorCode}"); return(false); } }
/// <summary> /// 모든 상점 초기화 /// </summary> /// <param name="errorCode">네트워크 결과 값</param> /// <param name="arrayShopInfo">상점 결과 값</param> /// <returns>네트워크 처리가 정상적으로 됐는지 여부</returns> private bool RefreshAllShop(GameBaseShopErrorCode errorCode, ShopInfo[] arrayShopInfo) { if (errorCode == GameBaseShopErrorCode.Success) { foreach (ShopInfo shopInfo in arrayShopInfo) { foreach (Shop shop in listShop) { if (shop.shopID == shopInfo.shopId) { shop.UpdateContent(shopInfo); } } } return(true); } else { Debug.Log($"에러 발생 : {errorCode}"); UI_ErrorMessage.Get().ShowMessage($"Error : {errorCode}"); return(false); } }
public bool Reset(GameBaseShopErrorCode errorCode, ShopInfo shopInfo, ItemBaseInfo payItemInfo) { UI_Main.Get().obj_IndicatorPopup.SetActive(false); if (errorCode == GameBaseShopErrorCode.Success) { if (payItemInfo != null) { //리셋을 위해서 사용한 재화 연출 처리 //payItemInfo switch ((ITEM_TYPE)payItemInfo.ItemId) { case ITEM_TYPE.GOLD: { UserInfoManager.Get().GetUserInfo().gold += payItemInfo.Value; } break; case ITEM_TYPE.DIAMOND: { UserInfoManager.Get().GetUserInfo().diamond += payItemInfo.Value; } break; } UI_Main.Get().RefreshUserInfoUI(); } UpdateContent(shopInfo); return(true); } else { Debug.LogError("에러발생"); return(false); } }
/// <summary> /// 상점 현금 결제 처리 /// </summary> /// <param name="errorCode"></param> /// <param name="shopId"></param> /// <param name="shopProductInfo"></param> /// <param name="arrayItemBaseInfo"></param> /// <returns></returns> public bool ShowPurchaseResult(GameBaseShopErrorCode errorCode, int shopId, ShopProductInfo shopProductInfo, ShopProductInfo changeProductInfo, ItemBaseInfo payItemInfo, ItemBaseInfo[] arrayRewardItemInfo, QuestData[] arrayQuestData) { return(ShowBuyResult(errorCode, shopId, shopProductInfo, changeProductInfo, payItemInfo, arrayRewardItemInfo, arrayQuestData)); }
/// <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); } }