コード例 #1
0
ファイル: ShopManager.cs プロジェクト: robin1392/robin
        /// <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);
            }
        }
コード例 #2
0
ファイル: ShopManager.cs プロジェクト: robin1392/robin
 /// <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);
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
ファイル: ShopManager.cs プロジェクト: robin1392/robin
 /// <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));
 }
コード例 #5
0
ファイル: ShopManager.cs プロジェクト: robin1392/robin
        /// <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);
            }
        }