示例#1
0
        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);
                }
            }
        }
示例#2
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);
            }
        }