Пример #1
0
    public bool OnReceiveSeasonPassStepAck(ERandomwarsSeasonErrorCode errorCode, int rewardId, ItemBaseInfo useItemInfo, ItemBaseInfo rewardInfo, QuestData[] arrayQuestData)
    {
        UI_Main.Get().obj_IndicatorPopup.SetActive(false);

        UI_Popup.AllClose();

        if (errorCode == ERandomwarsSeasonErrorCode.Success)
        {
            switch (useItemInfo.ItemId)
            {
            case 1:
                UserInfoManager.Get().GetUserInfo().gold += useItemInfo.Value;
                break;

            case 2:
                UserInfoManager.Get().GetUserInfo().diamond += useItemInfo.Value;
                break;
            }

            UserInfoManager.Get().GetUserInfo().seasonPassRewardStep = rewardId;
            UserInfoManager.Get().GetUserInfo().seasonTrophy        += rewardInfo.Value;

            UI_Main.Get().RefreshUserInfoUI();
            UI_Popup_Quest.QuestUpdate(arrayQuestData);
            SendMessageUpwards("RefreshSeasonInfo", SendMessageOptions.DontRequireReceiver);

            transform.parent.BroadcastMessage("SetButton");
        }
        else
        {
            UI_ErrorMessage.Get().ShowMessage("재화가 부족합니다.");
        }

        return(true);
    }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
 public void Click_PremiumGet()
 {
     if (getVipRow + 1 == row)
     {
         isGetPremium = true;
         //NetworkManager.Get().GetSeasonPassRewardReq(UserInfoManager.Get().GetUserInfo().userID,
         //    (int) REWARD_TARGET_TYPE.SEASON_PASS_BUY, row, GetCallback);
         NetworkManager.session.SeasonTemplate.SeasonPassRewardReq(NetworkManager.session.HttpClient,
                                                                   row, (int)REWARD_TARGET_TYPE.SEASON_PASS_BUY, OnReceiveSeasonPassRewardAck);
         UI_Main.Get().obj_IndicatorPopup.SetActive(true);
     }
     else
     {
         UI_ErrorMessage.Get().ShowMessage("이전 보상을 먼저 획득하세요.");
     }
 }
Пример #4
0
 /// <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);
     }
 }
Пример #5
0
        /// <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);
            }
        }