Пример #1
0
    public void getItem(Item.ItemInfo _item, int _amount)
    {
        bool haveIt = false;

        for (int i = 0; i < itemSlotInfos.Count; i++)
        {
            if (itemSlotInfos[i].GetItem().ID == _item.ID)
            {
                itemSlotInfos[i].get(_amount);
                haveIt = true;
                break;
            }
        }
        if (!haveIt)
        {
            ItemSlotInfo tmp = new ItemSlotInfo();

            tmp.SetItem(_item);
            tmp.SetNum(_amount);

            itemSlotInfos.Add(tmp);

            SortItemList();
        }
        removeSlots();
        setSlots();
    }
Пример #2
0
 public void setSlot(Item.ItemInfo _item, int _num)
 {
     this.item  = _item;
     this.name  = "vegi" + string.Format("{0:D3}", item.ID);
     IMG.sprite = Resources.Load <Sprite>("Icon/vegi" + string.Format("{0:D3}", item.ID));
     text.text  = _num.ToString();
 }
    /// <summary> 사용 아이템의 설명문 Equip아이템은 아님. 마지막 셋팅 함수임. Position은 주지 않는다 </summary>
    void SetDesc(NetData._ItemData itemData, ref byte optionCount)
    {
        uint descId = 0;

        if (itemData.IsEquipItem())
        {
            Item.EquipmentInfo equipLowData = itemData.GetEquipLowData();
            descId = equipLowData.DescriptionId;
        }
        else
        {
            Item.ItemInfo useLowData = itemData.GetUseLowData();
            descId = useLowData == null ? 0 : useLowData.DescriptionId;
        }

        if (descId <= 0)
        {
            Desc.gameObject.SetActive(false);
            return;
        }

        ++optionCount;
        Desc.gameObject.SetActive(true);
        Desc.text = _LowDataMgr.instance.GetStringItem(descId);
    }
Пример #4
0
    public void Init(int _id)
    {
        item = ReadVegiInfo(_id);

        Assign();

        SetDisplay();
    }
    /// <summary> 서버에서 보석박는거 응답 </summary>
    public void OnReceiveJewel(NetData._CostumeData costumeData)
    {
        //DetailPopup.OnClose();
        //DetailPopup.Hide();

        //코스튬에 보석 셋팅
        string itemName    = null;
        string itemAbility = null;
        string itemDesc    = null;

        uint jewelLowDataId = costumeData._EquipJewelLowId[SelectJewelArr];

        if (0 < jewelLowDataId)
        {
            Item.ItemInfo useLowData = _LowDataMgr.instance.GetUseItem(jewelLowDataId);

            itemDesc = _LowDataMgr.instance.GetStringItem(useLowData.DescriptionId);
            JewelInvenSlots[SelectJewelArr].SetLowDataItemSlot(jewelLowDataId, 0, null);
            itemName    = _LowDataMgr.instance.GetStringItem(useLowData.NameId);
            itemAbility = string.Format("{0} {1}", UIMgr.instance.GetAbilityLocName((AbilityType)useLowData.OptionType),
                                        UIMgr.instance.GetAbilityStrValue((AbilityType)useLowData.OptionType, useLowData.value * 0.1f));
        }
        else//그런거 없음 빈 슬롯. 뭔가 문제가 있는 것임.
        {
            Debug.LogError(string.Format("not found insert jewel item error {0} ", SelectJewelArr));
            JewelInvenSlots[SelectJewelArr].EmptySlot();
        }

        UILabel nameLbl    = SocketRootTfs[SelectJewelArr].FindChild("item_name").GetComponent <UILabel>();
        UILabel abilityLbl = SocketRootTfs[SelectJewelArr].FindChild("ability").GetComponent <UILabel>();
        UILabel descLbl    = SocketRootTfs[SelectJewelArr].FindChild("desc").GetComponent <UILabel>();

        nameLbl.text    = itemName;
        abilityLbl.text = itemAbility;
        descLbl.text    = itemDesc;

        //아이템 재셋팅
        Transform slotParent = JewelGrid.transform;
        List <NetData._ItemData> jewelList = UserInfo.GetTypeItemList(eItemType.USE, AssetType.Jewel);

        jewelList.Sort(SortJewel);
        int childCount = slotParent.childCount;

        for (int i = 0; i < childCount; i++)
        {
            InvenItemSlotObject invenSlot = slotParent.GetChild(i).GetComponent <InvenItemSlotObject>();
            if (i < jewelList.Count)
            {
                invenSlot.SetInvenItemSlot(jewelList[i], OnClickInvenItemSlot);
            }
            else
            {
                invenSlot.EmptySlot();
            }
        }

        SoundManager.instance.PlaySfxSound(eUISfx.UI_jewel_equip, false);
    }
Пример #6
0
    public void startGrow(Item.ItemInfo _item)
    {
        if (this.isPlanted)
        {
            return;
        }

        this.item = _item;
        timer     = this.item.GrowTime;

        // PlayerInfo에서, 해당 아이템 찾아서 개수 줄어들게 하기.
        if (!playerInfo.useItem(_item.ID)) // 개수 줄어들 수 있으면, 줄어들고 return True. 아니면 그냥 return False
        {
            return;
        }

        isPlanted      = true;
        overHalfSwitch = false; // Harvest 없이 Obj 사라지는, 추가적인 이벤트 감안.
        isAllGrown     = false;

        // 작물 GO 활성화
        CropIMG.gameObject.SetActive(true);

        // CropIMG 설정
        string imgName = "stgr_root";

        switch (this.item.ID)
        {
        case 1:
        case 2:
            imgName = "stgr_root"; break;

        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
            imgName = "stgr_plant"; break;

        case 9:
        case 10:
        case 11:
        case 12:
            imgName = "stgr_tree"; break;
        }
        CropIMG.sprite = Resources.Load <Sprite>("GrIcon/" + imgName);
        // 시간 text(미완), 게이지 설정(완)

        timeSlider.maxValue = this.item.GrowTime;
        timeSlider.enabled  = true;
    }
Пример #7
0
 public void updateItemInfo(Item.ItemInfo _newitemInfo)
 {
     for (int i = 0; i < itemSlotInfos.Count; i++)
     {
         if (itemSlotInfos[i].GetItem().ID == _newitemInfo.ID)
         {
             itemSlotInfos[i].SetItem(_newitemInfo);
             removeSlots();
             setSlots();
             break;
         }
     }
 }
Пример #8
0
    void SetItemSlot(uint itemid, Transform itemTf)
    {
        Item.ItemInfo itemInfo = _LowDataMgr.instance.GetUseItem(itemid);

        UISprite iconSp = itemTf.FindChild("icon").GetComponent <UISprite>();

        if (itemInfo.Type == (byte)AssetType.CostumeShard || itemInfo.Type == (byte)AssetType.PartnerShard)
        {
            iconSp.atlas = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.Shard);
        }

        iconSp.spriteName = _LowDataMgr.instance.GetLowDataIcon(itemInfo.Icon);
        itemTf.FindChild("grade").GetComponent <UISprite>().spriteName = string.Format("Icon_0{0}", itemInfo.Grade);
        NetData._ItemData item = NetData.instance.GetUserInfo().GetItemForItemID(itemid, (byte)eItemType.USE);
        if (item != null)
        {
            itemTf.FindChild("new").gameObject.SetActive(item.IsNewItem);
            itemTf.FindChild("disable").gameObject.SetActive(false);
            itemTf.FindChild("stack").GetComponent <UILabel>().text = item.Count.ToString();

            item.IsNewItem = false;//바로 꺼준다.Hide에서 처리해도 되지만 여기서 처리해보도록한다
        }
        else
        {
            itemTf.FindChild("new").gameObject.SetActive(false);
            itemTf.FindChild("disable").gameObject.SetActive(true);
            itemTf.FindChild("stack").GetComponent <UILabel>().text = "0";
        }

        EventDelegate.Set(itemTf.GetComponent <UIEventTrigger>().onClick, () => {
            if (SceneManager.instance.CurTutorial == TutorialType.CATEGORY)
            {
                if (itemTf.GetComponent <TutorialSupport>() == null)//스킵
                {
                    UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup");
                    if (basePanel != null)
                    {
                        SceneManager.instance.CurTutorial = SceneManager.instance.CurTutorial;//다음으로 넘김.
                        basePanel.Close();
                    }
                }
            }

            UIMgr.OpenDetailPopup(this, itemInfo.Id, 7);
        });
    }
Пример #9
0
    Item.ItemInfo ReadVegiInfo(int _id)
    {
        Lv      = 1; // read lv
        LvPrice = CalcLvUp(_id, this.Lv);

        //Lv = 1;
        //LvPrice = "10";

        Item.ItemInfo tmp = new Item.ItemInfo();
        //tmp.ID = 1;
        tmp.ID        = _id;
        tmp.Name      = "당근";
        tmp.SeedPrice = "1";
        tmp.GrowTime  = 10;
        //tmp.SellPrice = "10";
        tmp.SellPrice = CalcSellPrice(tmp.ID, this.Lv);

        return(tmp);
    }
Пример #10
0
    int SortJewel(NetData._ItemData a, NetData._ItemData b)
    {
        if (!a.IsUseItem() || !b.IsUseItem())
        {
            return(0);
        }

        Item.ItemInfo aLowData = a.GetUseLowData();
        Item.ItemInfo bLowData = b.GetUseLowData();
        AssetType     aType    = (AssetType)aLowData.Type;
        AssetType     bType    = (AssetType)bLowData.Type;

        //보석은 별도
        if (aType == AssetType.Jewel && bType == AssetType.Jewel)
        {
            if (aLowData.Grade < bLowData.Grade)
            {
                return(1);
            }
            else if (bLowData.Grade < aLowData.Grade)
            {
                return(-1);
            }
        }
        else if (aType != AssetType.Jewel && bType == AssetType.Jewel)
        {
            return(1);
        }
        else if (aType == AssetType.Jewel && bType != AssetType.Jewel)
        {
            return(-1);
        }

        if (a._itemIndex < b._itemIndex)
        {
            return(-1);
        }
        else
        {
            return(1);
        }
    }
Пример #11
0
    /// <summary> 소모 아이템 </summary>
    void SetUseItem(Item.ItemInfo lowData, uint amount)
    {
        if (lowData == null)
        {
            return;
        }

        ItemIcon.atlas = _AtlasMgr.GetLoadAtlas(LoadAtlasType.UseItem);

        // 소모아이템중 보석만 배경이들어가고 나머지는배경이없이..
        string bg;

        if (lowData.Type == (int)AssetType.Jewel)
        {
            BackGround.atlas = _AtlasMgr.GetLoadAtlas(LoadAtlasType.Item);
            bg = string.Format("Icon_bg_0{0}", lowData.Grade);
            DefaultBg.gameObject.SetActive(false);
        }
        if (lowData.Type == (int)AssetType.PartnerShard || lowData.Type == (int)AssetType.CostumeShard)
        {
            ItemIcon.atlas   = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.Shard);
            BackGround.atlas = _AtlasMgr.GetLoadAtlas(PoolAtlasType.Bod);
            bg = "Bod_IconBg";
            DefaultBg.gameObject.SetActive(true);
        }
        else
        {
            BackGround.atlas = _AtlasMgr.GetLoadAtlas(PoolAtlasType.Bod);
            bg = "Bod_IconBg";
            DefaultBg.gameObject.SetActive(true);
        }

        string icon = _LowDataMgr.instance.GetLowDataIcon(lowData.Icon), gradeIcon = GetGradeIcon(lowData.Grade);

        SetDefault(icon, gradeIcon, amount, bg);
    }
Пример #12
0
    public void ViewInfo(uint type, NetData.ShopItemInfoData shopInfo)
    {
        ScrollView.gameObject.SetActive(shopInfo == null ? false : true);
        EmptyTxt.SetActive(shopInfo == null? true:false);
        if (/*!ScrollView.gameObject.activeSelf*/ shopInfo == null)
        {
            return;
        }

        int shopCnt = shopInfo.shopInfo.Count;

        CurShopType = shopInfo.Type;
        RefreshCash(CurShopType);

        bool IsTimeReset = true;

        if (CurShopType == 101)
        {
            IsTimeReset = false;
        }
        if (CurShopType == 201)
        {
            IsTimeReset = false;
        }
        if (CurShopType == 202)
        {
            IsTimeReset = false;
        }
        if (CurShopType == 102)
        {
            IsTimeReset = false;
        }

        TimeRoot.gameObject.SetActive(IsTimeReset);
        TimeItemInfo.gameObject.SetActive(!TimeRoot.gameObject.activeSelf);
        ResetBtn.transform.gameObject.SetActive(IsTimeReset);

        if (CurViewType != eMainTab.CHANGE)
        {
            TimeRoot.gameObject.SetActive(false);
            ResetBtn.transform.gameObject.SetActive(false);
        }

        if (IsTimeReset)
        {
            RefreshTime = shopInfo.RefreshTimer.ToString();
            // 리셋비용을 얻기위해
            PriceList = _LowDataMgr.instance.GetLowDataPrice(shopInfo.Type);
        }

        GoodsName.text     = "";
        GoodsInfo.text     = "";
        UseSellAmount      = 0;
        UseSellTotalAmount = 0;
        TotalNum.text      = "0";
        TotalPrice.text    = "0";
        TimeItemInfo.text  = "";


        bool isFirstSelect = false;

        int childCount = 0;

        for (int i = 0; i < Grid.transform.childCount; i++)
        {
            if (i >= shopCnt)
            {
                Grid.transform.GetChild(i).gameObject.SetActive(false);
                continue;
            }

            Transform slotTf = Grid.transform.GetChild(i);
            slotTf.gameObject.SetActive(true);

            NetData.ShopItemInfo info      = shopInfo.shopInfo[i];
            Shop.ShopInfo        shopTable = _LowDataMgr.instance.GetLowDataShopById(info.DbIndex);

            if (shopTable == null)
            {
                Grid.transform.GetChild(i).gameObject.SetActive(false);
                continue;
            }

            //한정판매 일때는 기간지나면 목록에서 없앰
            if (shopTable.shopopentime != 0)
            {
                DateTime startTime = DateTime.ParseExact(shopTable.shopopentime.ToString(), "yyyyMMddHHmmss", null);
                DateTime endTime   = DateTime.ParseExact(shopTable.shopclosetime.ToString(), "yyyyMMddHHmmss", null);

                if (startTime.CompareTo(DateTime.Now) < 0) // 오늘이 시작날짜보다 빠르다면
                {
                    slotTf.gameObject.SetActive(false);
                    continue;
                }

                if (endTime.CompareTo(DateTime.Now) > 0) //오늘이 완료날짜보다 늦다면
                {
                    slotTf.gameObject.SetActive(false);
                    continue;
                }
            }

            // 갯수 1개는 표시x , 2개부터 표시해줌
            UILabel Count = slotTf.FindChild("cnt").GetComponent <UILabel>();
            Count.text = info.Account.ToString();
            Count.gameObject.SetActive(info.Account > 1 ? true : false);

            UISprite moneyIcon = slotTf.FindChild("Img_Money").GetComponent <UISprite>();
            moneyIcon.spriteName = MoneyImg.spriteName;

            UILabel name  = slotTf.FindChild("name").GetComponent <UILabel>();
            UILabel price = slotTf.FindChild("price").GetComponent <UILabel>();

            price.text = shopTable.cost.ToString();
            Item.EquipmentInfo eLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(info.GoodsId);
            if (eLowData != null)//장비아이템이 드랍아이템 대표로 등록되어 있음
            {
                name.color = GradeNameColor[eLowData.Grade];
                name.text  = _LowDataMgr.instance.GetStringItem(eLowData.NameId);
            }
            else//소모아이템이 드랍아이템 대표로 등록되어 있음
            {
                Item.ItemInfo uLowData = _LowDataMgr.instance.GetUseItem(info.GoodsId);
                if (uLowData == null)
                {
                    continue;
                }

                name.color = GradeNameColor[uLowData.Grade];
                name.text  = _LowDataMgr.instance.GetStringItem(uLowData.NameId);
            }


            int idx = i;

            //슬롯눌럿을경우 선택
            EventDelegate.Set(slotTf.GetComponent <UIEventTrigger>().onClick, delegate()
            {
                if (0 < info.Account)
                {
                    OnclicItemPopup(info, int.Parse(price.text), name.color);
                }

                for (int j = 0; j < SelEff.Length; j++)
                {
                    SelEff[j].SetActive(j == idx);
                }
            });

            //아이콘일경우 팝업
            slotTf.FindChild("root").GetChild(0).GetComponent <InvenItemSlotObject>().SetLowDataItemSlot(info.GoodsId, 0, (key) =>
            {
                UIMgr.OpenDetailPopup(this, info.GoodsId);
            });

            //매진팝업
            Transform soldOut      = slotTf.FindChild("soldout").GetComponent <Transform>();
            Transform soldOutStemp = slotTf.FindChild("Stemp").GetComponent <Transform>();

            soldOut.gameObject.SetActive(false);
            soldOutStemp.gameObject.SetActive(false);

            // 한개 이상이면 구매팝업창으로
            if (info.Account < 1)
            {
                soldOut.gameObject.SetActive(true);
                soldOutStemp.gameObject.SetActive(true);
            }


            //매진이아닌 아이템이 최초선택된채로 시작.
            if (!isFirstSelect && !soldOutStemp.gameObject.activeSelf && !isResetSelect)
            {
                OnclicItemPopup(info, int.Parse(price.text), name.color);

                for (int j = 0; j < SelEff.Length; j++)
                {
                    SelEff[j].SetActive(j == idx);
                }

                isFirstSelect = true;
            }
            childCount++;
        }

        //초기화
        EventDelegate.Set(ResetBtn.onClick, delegate()
        {
            OnclickReset((int)shopInfo.ManualRefreshCount, (int)shopInfo.Type);
        });
        EmptyTxt.SetActive(shopInfo == null /*!Grid.transform.GetChild(0).gameObject.activeSelf*/);
        Grid.Reposition();
        ScrollView.enabled = childCount > 10;
        isResetSelect      = false;
    }
Пример #13
0
    void InitSocket()
    {
        Transform socketTf = GetViewObj(CurViewType).transform;

        NetData._CostumeData    costumeData = UserInfo.GetEquipCostume();
        NetData.ItemAbilityData ability     = costumeData.AbilityData;

        float abilityValue = _LowDataMgr.instance.GetCostumeAbilityValue(costumeData._Grade, costumeData._MinorGrade, ability.Value);

        TargetCostume[1].gameObject.SetActive(true);
        TargetCostume[1].FindChild("icon").GetComponent <UISprite>().spriteName = costumeData.GetIconName();
        TargetCostume[1].FindChild("name").GetComponent <UILabel>().text        = costumeData.GetLocName();
        TargetCostume[1].FindChild("info").GetComponent <UILabel>().text        = costumeData.GetDescription();
        TargetCostume[1].FindChild("ability").GetComponent <UILabel>().text     = string.Format("{0} {1}", UIMgr.instance.GetAbilityLocName(ability.Ability)
                                                                                                , UIMgr.instance.GetAbilityStrValue(ability.Ability, abilityValue));   //지금 능력치

        //if(DetailPopup == null)
        //    DetailPopup = UIMgr.OpenDetailPopup(this);

        //코스튬에 보석 공간 확인
        for (ushort i = 0; i < SystemDefine.MaxJewelCount; i++)
        {
            string         itemName    = null;
            string         itemAbility = null;
            string         itemDesc    = null;
            UIEventTrigger uiTri       = SocketRootTfs[i].GetComponent <UIEventTrigger>();

            uint jewelLowDataId = costumeData._EquipJewelLowId[i];
            if (0 < jewelLowDataId)
            {
                Item.ItemInfo useLowData = _LowDataMgr.instance.GetUseItem(jewelLowDataId);
                //Item.ItemValueInfo valueLowData = _LowDataMgr.instance.GetLowDataItemValueInfo(useLowData.OptionIndex1);
                //LockImg.SetActive(false);

                itemDesc = _LowDataMgr.instance.GetStringItem(useLowData.DescriptionId);
                JewelInvenSlots[i].SetLowDataItemSlot(jewelLowDataId, 0, null);
                itemName    = _LowDataMgr.instance.GetStringItem(useLowData.NameId);
                itemAbility = string.Format("{0} {1}", UIMgr.instance.GetAbilityLocName((AbilityType)useLowData.OptionType),
                                            UIMgr.instance.GetAbilityStrValue((AbilityType)useLowData.OptionType, useLowData.value * 0.1f));
            }
            else//그런거 없음 빈 슬롯.
            {
                JewelInvenSlots[i].EmptySlot();
                //LockImg.SetActive(true);
            }
            UILabel nameLbl    = SocketRootTfs[i].FindChild("item_name").GetComponent <UILabel>();
            UILabel abilityLbl = SocketRootTfs[i].FindChild("ability").GetComponent <UILabel>();
            UILabel descLbl    = SocketRootTfs[i].FindChild("desc").GetComponent <UILabel>();

            //승급에따라 슬롯수가 결정됨, 보석슬롯 락처리
            int        maxJewelSlot = costumeData.MaxJewelSlot;
            GameObject LockImg      = SocketRootTfs[i].FindChild("Lock").gameObject; // 락이미지
            LockImg.SetActive(maxJewelSlot <= i);



            nameLbl.text    = itemName;
            abilityLbl.text = itemAbility;
            descLbl.text    = itemDesc;
        }

        if (JewelGrid.transform.childCount <= 0)//처음으로 클릭함. 슬롯 생성 및 갱신해준다.
        {
            int maxInvenSlot = _LowDataMgr.instance.GetEtcTableValue <int>(EtcID.InvenMax);
            List <NetData._ItemData> jewelList = UserInfo.GetTypeItemList(eItemType.USE, AssetType.Jewel);
            jewelList.Sort(SortJewel);
            for (int i = 0; i < maxInvenSlot; i++)
            {
                GameObject slotGo = Instantiate(InvenSlotPrefab) as GameObject;
                Transform  slotTf = slotGo.transform;
                slotTf.parent        = JewelGrid.transform;
                slotTf.localPosition = Vector3.zero;
                slotTf.localScale    = Vector3.one;

                InvenItemSlotObject invenSlot = slotGo.GetComponent <InvenItemSlotObject>();
                if (i < jewelList.Count)
                {
                    invenSlot.SetInvenItemSlot(jewelList[i], OnClickInvenItemSlot);
                    //SocketRootTfs[i].FindChild("Lock").gameObject.SetActive(false);
                }
                else
                {
                    invenSlot.EmptySlot();
                }
            }

            JewelScrollView.ResetPosition();
        }

        //선택되어 있는 소켓 기본 0번으로 셋팅
        SelectJewelArr = 0;
        if (costumeData.MaxJewelSlot > 0)
        {
            for (int i = 0; i < SocketRootTfs.Length; i++)
            {
                GameObject select = SocketRootTfs[i].transform.FindChild("cover").gameObject;
                select.SetActive(i == SelectJewelArr);
            }
        }
    }
Пример #14
0
    /// <summary> 아이템의 테이블 아이디로 셋팅을 함.</summary>
    public void SetLowDataItemSlot(uint lowDataIdx, uint amount, Action <ulong> callBack = null)
    {
        EnchantLv.gameObject.SetActive(false);
        if (lowDataIdx < 100)
        {
            //string iconName = null;
            switch ((Sw.UNITE_TYPE)lowDataIdx)
            {
            case Sw.UNITE_TYPE.UNITE_TYPE_COIN:
                lowDataIdx = 599000;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_GEM:
                lowDataIdx = 599001;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_CONTRIBUTION:
                lowDataIdx = 599004;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_HONOR:
                lowDataIdx = 599005;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_ROYAL_BADGE:
                lowDataIdx = 599002;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_LION_KING_BADGE:
                lowDataIdx = 599006;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_FAME:
                lowDataIdx = 599003;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_POWER:
                lowDataIdx = 599104;
                break;

            case Sw.UNITE_TYPE.UNITE_TYPE_ROLE_EXP:
                lowDataIdx = 599105;
                break;
            //case Sw.UNITE_TYPE.UNITE_TYPE_TITLE:

            //    break;

            default:
                Debug.Log("unDefined type error " + (Sw.UNITE_TYPE)lowDataIdx);
                EmptySlot();
                return;
            }

            //if( string.IsNullOrEmpty(iconName ) )
            //{
            //    Debug.LogError(string.Format("not setting image name error {0}", (Sw.UNITE_TYPE)lowDataIdx ) );
            //}

            //ItemIcon.atlas = _AtlasMgr.GetLoadAtlas(LoadAtlasType.UseItem);
            //SetDefault(iconName, "", amount, "Bod_IconBg");
        }

        Item.EquipmentInfo equip = _LowDataMgr.instance.GetLowDataEquipItemInfo(lowDataIdx);
        if (equip != null)
        {
            SetEquipItem(equip, amount);
        }
        else
        {
            Item.ItemInfo useLowData = _LowDataMgr.instance.GetUseItem(lowDataIdx);
            if (useLowData == null)//파트너?
            {
                SetPartnerItem(lowDataIdx, amount);
            }
            else if (useLowData != null)
            {
                SetUseItem(useLowData, amount);
            }
            else
            {
                EmptySlot();
            }
        }

        if (callBack != null && 100 < lowDataIdx)
        {
            Key      = lowDataIdx;
            CallBack = callBack;
        }
    }
Пример #15
0
    void OnClickUpBtn(int viewType)
    {
        List <GatchaReward.RewardInfo> list = null;

        switch ((eRateViewType)viewType)
        {
        case eRateViewType.all:    // 12 , 13, 11, 8, 10, 14
            list = _LowDataMgr.instance.GetGachaRewardItemLsit(12, CurRateTabIdx, true);
            break;

        case eRateViewType.equip:    //12
            list = _LowDataMgr.instance.GetGachaRewardItemLsit(12, CurRateTabIdx);
            break;

        case eRateViewType.item:    //13
            list = _LowDataMgr.instance.GetGachaRewardItemLsit(13, CurRateTabIdx);
            break;

        case eRateViewType.piece:    //11
            list = _LowDataMgr.instance.GetGachaRewardItemLsit(11, CurRateTabIdx);
            break;

        case eRateViewType.etc:    //8 , 10, 14
            list = _LowDataMgr.instance.GetGachaRewardItemLsit(8, CurRateTabIdx);
            list.InsertRange(list.Count, _LowDataMgr.instance.GetGachaRewardItemLsit(10, CurRateTabIdx));
            list.InsertRange(list.Count, _LowDataMgr.instance.GetGachaRewardItemLsit(14, CurRateTabIdx));
            break;
        }

        byte charClass = _LowDataMgr.instance.GetCharcterData(NetData.instance.GetUserInfo()._userCharIndex).Class;

        for (int i = 0; i < RateGrid.transform.childCount; i++)
        {
            if (i >= list.Count || list[i].ClassType != 99 && list[i].ClassType != charClass)
            {
                RateGrid.transform.GetChild(i).gameObject.SetActive(false);
                continue;
            }

            GameObject slot = RateGrid.transform.GetChild(i).gameObject;
            slot.SetActive(true);

            UISprite itemImg = slot.transform.FindChild("imgae").GetComponent <UISprite>();       //아이콘
            UILabel  name    = slot.transform.FindChild("Txt_itemname").GetComponent <UILabel>(); //이름
            UILabel  percent = slot.transform.FindChild("Txt_percent").GetComponent <UILabel>();
            UILabel  amount  = slot.transform.FindChild("Txt_amount").GetComponent <UILabel>();   //개수
            UISprite grade   = itemImg.transform.FindChild("grade").GetComponent <UISprite>();
            UISprite gradeBg = itemImg.transform.FindChild("bg_grade").GetComponent <UISprite>();

            percent.text = string.Format("{0} : {1}%", _LowDataMgr.instance.GetStringCommon(949), (list[i].ItemIdxRate * 0.0001).ToString());//만분률
            amount.text  = list[i].ShardMin <= 1 ? "" : list[i].ShardMin.ToString();

            uint itemIdx = list[i].ItemIdx;
            if (0 < itemIdx)
            {
                if (list[i].Type == 12)//장비임
                {
                    Item.EquipmentInfo eLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(itemIdx);
                    if (eLowData != null)//장비아이템이 드랍아이템 대표로 등록되어 있음
                    {
                        itemImg.atlas = AtlasMgr.instance.GetLoadAtlas(PoolAtlasType.EquipItem);

                        itemImg.spriteName = _LowDataMgr.instance.GetLowDataIcon(eLowData.Icon);
                        name.text          = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(eLowData.Grade), _LowDataMgr.instance.GetStringItem(eLowData.NameId));

                        grade.spriteName   = string.Format("Icon_0{0}", eLowData.Grade);
                        gradeBg.spriteName = string.Format("Icon_bg_0{0}", eLowData.Grade);
                    }
                }
                else if (list[i].Type == 10)// 초상화일수있으니 다시검ㅅ ㅏ&& _LowDataMgr.instance.IsGetRewardType(10, itemIdx)
                {
                    itemImg.atlas = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.Face);

                    Partner.PartnerDataInfo pInfo = _LowDataMgr.instance.GetPartnerInfo(itemIdx);
                    if (pInfo == null)
                    {
                        RateGrid.transform.GetChild(i).gameObject.SetActive(false);
                        continue;
                    }

                    itemImg.spriteName = pInfo.PortraitId;
                    name.text          = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(pInfo.Quality), _LowDataMgr.instance.GetStringUnit(pInfo.NameId));
                    grade.spriteName   = string.Format("Icon_0{0}", pInfo.Quality);
                    gradeBg.spriteName = string.Format("Icon_bg_0{0}", pInfo.Quality);
                }
                else//소비아이템
                {
                    Item.ItemInfo uLowData = _LowDataMgr.instance.GetUseItem(itemIdx);
                    name.text        = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(uLowData.Grade), _LowDataMgr.instance.GetStringItem(uLowData.NameId));
                    grade.spriteName = string.Format("Icon_0{0}", uLowData.Grade);

                    if (uLowData.Type == (int)AssetType.Jewel)
                    {
                        gradeBg.atlas      = AtlasMgr.instance.GetLoadAtlas(PoolAtlasType.EquipItem);
                        gradeBg.spriteName = string.Format("Icon_bg_0{0}", uLowData.Grade);
                    }
                    else
                    {
                        gradeBg.atlas      = AtlasMgr.instance.GetLoadAtlas(PoolAtlasType.Bod);
                        gradeBg.spriteName = "Bod_IconBg";
                    }

                    if (uLowData.Type == (int)AssetType.PartnerShard || uLowData.Type == (int)AssetType.CostumeShard)
                    {
                        itemImg.atlas = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.Shard);
                        //gradeBg.atlas = AtlasMgr.instance.GetLoadAtlas(PoolAtlasType.Bod);
                        //gradeBg.spriteName = "Bod_IconBg";
                    }
                    else
                    {
                        itemImg.atlas = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.UseItem);
                    }

                    itemImg.spriteName = _LowDataMgr.instance.GetLowDataIcon(uLowData.Icon);
                }
            }
            else//아이템 아이디가 없는것들
            {
                switch (list[i].Type)
                {
                case 1:    //게임 머니
                    itemIdx = 599000;
                    break;

                case 8:    //에너지
                    itemIdx = 599104;
                    break;

                case 2:    //게임 캐쉬(원보)
                    itemIdx = 599001;
                    break;

                case 5:    //휘장
                    itemIdx = 599002;
                    break;

                case 7:    //성망
                    itemIdx = 599003;
                    break;

                case 3:    //공헌
                    itemIdx = 599004;
                    break;

                case 4:    //명예
                    itemIdx = 599005;
                    break;

                case 6:    //사자왕휘장
                    itemIdx = 599006;
                    break;
                }

                if (itemIdx <= 0)
                {
                    Debug.LogError("UnDefined type error " + list[i].Type);
                    continue;
                }
                Item.ItemInfo uLowData = _LowDataMgr.instance.GetUseItem(itemIdx);

                itemImg.atlas      = AtlasMgr.instance.GetLoadAtlas(LoadAtlasType.UseItem);
                itemImg.spriteName = _LowDataMgr.instance.GetLowDataIcon(uLowData.Icon);

                name.text        = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(uLowData.Grade), _LowDataMgr.instance.GetStringItem(uLowData.NameId));
                grade.spriteName = string.Format("Icon_0{0}", uLowData.Grade);
            }

            int idx = i;
            EventDelegate.Set(slot.GetComponent <UIEventTrigger>().onClick, delegate()
            {
                if (itemIdx <= 0 || list[idx].Type == 10 || list[idx].Type == 14)//list[idx].Type == 1 ||list[idx].Type == 10 || list[idx].Type == 8 ||
                {
                    return;
                }

                Vector2 position = itemImg.transform.position;
                OnclicItemPopup(itemIdx);
            });
        }

        RateGrid.repositionNow = true;
        RateScroll.ResetPosition();
    }
    /// <summary> 아이템 디테일 팝업 실행 함수. </summary>
    void SetDetailPopup(NetData._ItemData itemData)
    {
        CurItemData = itemData;
        Debug.Log(string.Format("Click Item UseId={0}, equipId={1}", itemData._useitemDataIndex, itemData._equipitemDataIndex));
        bool isDifferentClass = false;

        NetData._UserInfo charInven = NetData.instance.GetUserInfo();

        if (CurItemData.IsEquipItem())
        {
            LinkPopup[0].SetActive(false);
            LinkPopup[1].SetActive(false);

            int limitLv = CurItemData.GetEquipLowData().LimitLevel;
            //EquipLv.text = string.Format(_LowDataMgr.instance.GetStringCommon(952), limitLv);
            if (limitLv <= charInven._Level && !isDifferentClass)//내 직업이고 레벨이 높다면
            {
                EquipState[0].SetActive(true);
                EquipState[1].SetActive(false);
            }
            else
            {
                EquipState[0].SetActive(false);
                EquipState[1].SetActive(true);
            }

            uint strKey = 0;
            if (BasePanel is EquipmentPanel)
            {
                Item.EquipmentInfo equipLow = CurItemData.GetEquipLowData();
                if (CurItemData._enchant < equipLow.MaxEnchant)
                {
                    strKey = 31;
                }
                else if (0 < equipLow.NextPartsId)
                {
                    strKey = 32;
                }
                else//최대
                {
                    strKey = 1182;
                }
            }
            else
            {
                strKey = 106;//닫기
            }
            if (0 < strKey)
            {
                SetOnOff(MainBtn.transform, true, _LowDataMgr.instance.GetStringCommon(strKey));
            }

            //텍스트 셋팅
            int    grade = itemData.GetEquipLowData().Grade;
            string color = UIHelper.GetItemGradeColor(grade);
            ItemName.text = string.Format("{0}{1}[-] [FFE400]+{2}[-]", color, itemData.GetLocName(), itemData._enchant);
        }
        else
        {
            //EquipLv.text = "";
            EquipState[0].SetActive(false);
            EquipState[1].SetActive(false);
            LinkPopup[0].SetActive(true);
            LinkPopup[1].SetActive(false);

            SetOnOff(MainBtn.transform, true, _LowDataMgr.instance.GetStringCommon(106));
            int count = charInven.GetItemCountForItemId(CurItemData._useitemDataIndex, (byte)eItemType.USE);
            LinkItemSlot[0].SetLowDataItemSlot(CurItemData._useitemDataIndex, (uint)count);
            LinkItemSlot[0].transform.parent.FindChild("Lock").gameObject.SetActive(count <= 0);

            Transform gridTf = LinkScroll.transform.FindChild("Grid");
            List <Item.ContentsListInfo> conList = _LowDataMgr.instance.GetLowDataContentsItemList(CurItemData._useitemDataIndex);
            for (int i = 0; i < conList.Count; i++)
            {
                Item.ContentsListInfo info = conList[i];
                string contentsName        = _LowDataMgr.instance.GetStringCommon(info.ContentsName);
                if (info.ContentsParam != null && 0 < info.ContentsParam.Count)
                {
                    if (contentsName.Contains("{0}") && contentsName.Contains("{1}"))
                    {
                        contentsName = string.Format(contentsName, info.ContentsParam[0], info.ContentsParam[1]);
                    }
                    else if (contentsName.Contains("{0}"))
                    {
                        contentsName = string.Format(contentsName, info.ContentsParam[0]);
                    }
                }

                Transform tf = null;
                if (i < gridTf.childCount)
                {
                    tf = gridTf.GetChild(i);
                }
                else
                {
                    tf            = Instantiate(gridTf.GetChild(0)) as Transform;
                    tf.parent     = gridTf;
                    tf.localScale = Vector3.one;
                }

                tf.gameObject.SetActive(true);

                tf.FindChild("txt").GetComponent <UILabel>().text = contentsName;
                bool isEnter = true;
                if (CheckContentsLink(info, false))//조건 만족
                {
                    tf.FindChild("error_txt").GetComponent <UILabel>().text = "";
                }
                else
                {
                    isEnter = false;

                    string contentsError = _LowDataMgr.instance.GetStringCommon(info.ConditionName);
                    if (info.ConditionParam != null && 0 < info.ConditionParam.Count)
                    {
                        if (contentsError.Contains("{0}") && contentsError.Contains("{1}"))
                        {
                            contentsError = string.Format(contentsError, info.ConditionParam[0], info.ConditionParam[1]);
                        }
                        else if (contentsError.Contains("{0}"))
                        {
                            contentsError = string.Format(contentsError, info.ConditionParam[0]);
                        }
                    }

                    tf.FindChild("error_txt").GetComponent <UILabel>().text = contentsError;
                }

                EventDelegate.Set(tf.FindChild("Btn").GetComponent <UIEventTrigger>().onClick, () => { OnClickContentsLink(info); });
                if (info.ContentsLinkType == 1)//재료조합
                {
                    tf.FindChild("Btn/On/label").GetComponent <UILabel>().text  = _LowDataMgr.instance.GetStringCommon(39);
                    tf.FindChild("Btn/Off/label").GetComponent <UILabel>().text = _LowDataMgr.instance.GetStringCommon(39);
                }
                else if (info.ContentsLinkType == 2)//바로가기(던전)
                {
                    tf.FindChild("Btn/On/label").GetComponent <UILabel>().text  = _LowDataMgr.instance.GetStringCommon(249);
                    tf.FindChild("Btn/Off/label").GetComponent <UILabel>().text = _LowDataMgr.instance.GetStringCommon(249);
                }

                tf.FindChild("Btn/On").gameObject.SetActive(isEnter);
                tf.FindChild("Btn/Off").gameObject.SetActive(!isEnter);
            }

            gridTf.GetComponent <UIGrid>().repositionNow = true;
            for (int j = conList.Count; j < gridTf.childCount; j++)
            {
                gridTf.GetChild(j).gameObject.SetActive(false);
            }

            if (conList.Count < 4)
            {
                LinkScroll.enabled = false;
            }
            else
            {
                LinkScroll.enabled = true;
            }

            Item.ItemInfo data  = itemData.GetUseLowData();
            string        color = UIHelper.GetItemGradeColor(data == null ? 0 : (int)data.Grade);
            ItemName.text = string.Format("{0}{1}[-] [FFE400][-]", color, itemData.GetLocName());
        }

        //아이템 셋팅
        ItemSlot.SetInvenItemSlot(itemData, null, 0);

        //아이템의 옵션들 셋팅
        byte optionCount = 0;

        Desc.transform.localPosition = SetAbility(itemData, ref optionCount); //어빌리티
        SetDesc(itemData, ref optionCount);                                   //아이템 설명 표현

        OptionScrollView.ResetPosition();
        if (optionCount <= 1)//스크롤 되면 안됨.
        {
            AbilityTf.parent.collider.enabled = false;
        }
        else
        {
            AbilityTf.parent.collider.enabled = true;
        }
    }
    public override void Init()
    {
        base.Init();

        //일단 아이템 셋팅
        List <Welfare.EventCheckInfo> list = new List <Welfare.EventCheckInfo>();

        list = _LowDataMgr.instance.GetLowDataEventCheck(3);

        for (int i = 0; i < SlotRoot.childCount; i++)
        {
            GameObject go       = SlotRoot.GetChild(i).gameObject;
            UILabel    itemName = go.transform.FindChild("Txt_gold").GetComponent <UILabel>();               //수량
            UISprite   itemImg  = go.transform.FindChild("get").FindChild("Icon").GetComponent <UISprite>(); //아이템 이미지

            List <GatchaReward.FixedRewardInfo> fixList = _LowDataMgr.instance.GetFixedRewardItemGroupList(list[i].RewardId);

            Item.EquipmentInfo eLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(fixList[0].ItemId);
            bool isEquip = false;
            if (eLowData != null)//장비아이템이 드랍아이템 대표로 등록되어 있음
            {
                if (itemImg.atlas != EquipAtlas)
                {
                    itemImg.atlas = EquipAtlas;
                }

                itemImg.spriteName = _LowDataMgr.instance.GetLowDataIcon(eLowData.Icon);
                itemName.text      = string.Format("{0} x{1}", _LowDataMgr.instance.GetStringItem(eLowData.NameId), fixList[0].ItemCount);
                isEquip            = true;
            }
            else//소모아이템이 드랍아이템 대표로 등록되어 있음
            {
                Item.ItemInfo uLowData = _LowDataMgr.instance.GetUseItem(fixList[0].ItemId);
                if (uLowData == null)
                {
                    //Debug.LogError("item id error" + list[0].ItemId);
                    //따로체크
                    if (itemImg.atlas != ItemAtlas)
                    {
                        itemImg.atlas = ItemAtlas;
                    }
                    isEquip = false;

                    if (list[0].Type == 1)//골드
                    {
                        itemImg.spriteName = "Icon_10000";
                        itemName.text      = string.Format("{0} x{1}", _LowDataMgr.instance.GetStringCommon(4), fixList[0].ItemCount);
                    }
                    if (list[0].Type == 2)//원보
                    {
                        itemImg.spriteName = "Icon_10001";
                        itemName.text      = string.Format("{0} x{1}", _LowDataMgr.instance.GetStringCommon(3), fixList[0].ItemCount);
                    }
                    if (list[0].Type == 10)  //파트너
                    {
                        if (_LowDataMgr.instance.IsGetRewardType(10, fixList[0].ItemId))
                        {
                            if (itemImg.atlas != Face)
                            {
                                itemImg.atlas = Face;
                            }

                            itemImg.spriteName = _LowDataMgr.instance.GetPartnerInfo(fixList[0].ItemId).PortraitId;
                            itemName.text      = string.Format("{0} x{1}", _LowDataMgr.instance.GetStringUnit(_LowDataMgr.instance.GetPartnerInfo(fixList[0].ItemId).NameId), fixList[0].ItemCount);
                            isEquip            = false;
                        }
                    }
                    //continue;
                }
                else
                {
                    if (itemImg.atlas != ItemAtlas)
                    {
                        itemImg.atlas = ItemAtlas;
                    }

                    itemImg.spriteName = _LowDataMgr.instance.GetLowDataIcon(uLowData.Icon);
                    itemName.text      = string.Format("{0} x{1}", _LowDataMgr.instance.GetStringItem(uLowData.NameId), fixList[0].ItemCount);

                    isEquip = false;
                }
            }
        }
    }
Пример #18
0
 public void SetItem(Item.ItemInfo _itemInfo)
 {
     this.itemInfo = _itemInfo;
 }
Пример #19
0
    void SetItem()
    {
        for (int i = 0; i < ids.Count; i++)
        {
            Transform slot = ItemRoot.GetChild(i);

            UISprite img = slot.GetComponent <UISprite>();

            Item.EquipmentInfo eLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(ids[i]);
            if (eLowData != null)//장비아이템이 드랍아이템 대표로 등록되어 있음
            {
                if (img.atlas != EquipAtlas)
                {
                    img.atlas = EquipAtlas;
                }

                img.spriteName = _LowDataMgr.instance.GetLowDataIcon(eLowData.Icon);
            }
            else//소모아이템이 드랍아이템 대표로 등록되어 있음
            {
                Item.ItemInfo uLowData = _LowDataMgr.instance.GetUseItem(ids[i]);
                if (uLowData == null)
                {
                    //Debug.LogError("item id error" + ids[i]);
                    //continue;
                    //따로체크
                    if (img.atlas != UseAtlas)
                    {
                        img.atlas = UseAtlas;
                    }

                    if (type[i] == 1)//골드
                    {
                        img.spriteName = "Icon_10000";
                    }
                    if (type[i] == 2)//원보
                    {
                        img.spriteName = "Icon_10001";
                    }
                    if (type[i] == 3)//공헌
                    {
                        img.spriteName = "Icon_10006";
                    }
                    if (type[i] == 4)//명ㅇㅖ
                    {
                        img.spriteName = "Icon_10007";
                    }
                    if (type[i] == 5)//휘장
                    {
                        img.spriteName = "Icon_10002";
                    }
                    if (type[i] == 6)//사자휘장
                    {
                        img.spriteName = "Icon_10008";
                    }
                    if (type[i] == 7)//성망
                    {
                        img.spriteName = "Icon_10005";
                    }
                    if (type[i] == 8)//체력
                    {
                        img.spriteName = "Icon_10009";
                    }
                    if (type[i] == 10)  //파트너
                    {
                        if (_LowDataMgr.instance.IsGetRewardType(10, ids[i]))
                        {
                            if (img.atlas != Face)
                            {
                                img.atlas = Face;
                            }

                            img.spriteName = _LowDataMgr.instance.GetPartnerInfo(ids[i]).PortraitId;
                        }
                    }
                }
                else
                {
                    if (img.atlas != UseAtlas)
                    {
                        img.atlas = UseAtlas;
                    }

                    img.spriteName = _LowDataMgr.instance.GetLowDataIcon(uLowData.Icon);
                }
            }


            // 아이템 상세팝업
            UIEventTrigger triItem = slot.GetComponent <UIEventTrigger>();
            int            idx     = i;
            EventDelegate.Set(triItem.onClick, delegate() { OnclicItemPopup(ids[idx]); });
        }
    }
Пример #20
0
    /// <summary> 아이템 기본 정보를 보여준다. </summary>
    public override void LateInit()
    {
        base.LateInit();
        if (parameters.Length <= 0)
        {
            return;
        }

        uint    lowDataId = (uint)parameters[0];
        Vector3 newPos    = (Vector3)parameters[1];

        newPos.z  = 0;
        newPos.y += 0.15f;
        //newPos.x += 0.35f;

        Debug.Log(string.Format("click item lowDataID {0}", lowDataId));


        EquipItemTf.position = newPos;
        UseItemTf.position   = newPos;

        InvenSlot.SetLowDataItemSlot(lowDataId, 0);

        Item.EquipmentInfo equipLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(lowDataId);
        if (equipLowData != null)//장비 아이템이다.
        {
            EquipItemTf.gameObject.SetActive(true);
            UseItemTf.gameObject.SetActive(false);
            InvenSlot.transform.parent = EquipItemTf.FindChild("ItemRoot");

            Item.ItemValueInfo valueLowData = _LowDataMgr.instance.GetLowDataItemValueInfo(equipLowData.BasicOptionIndex);
            UILabel            nameLbl      = EquipItemTf.FindChild("name").GetComponent <UILabel>();
            UILabel            descLbl      = EquipItemTf.FindChild("desc").GetComponent <UILabel>();
            UILabel            abilityLbl   = EquipItemTf.FindChild("ability_value").GetComponent <UILabel>();
            UILabel            rndLbl       = EquipItemTf.FindChild("rnd_ability").GetComponent <UILabel>();

            nameLbl.text    = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(equipLowData.Grade), _LowDataMgr.instance.GetStringItem(equipLowData.NameId));
            descLbl.text    = _LowDataMgr.instance.GetStringItem(equipLowData.DescriptionId);
            abilityLbl.text = string.Format("{0} : {1}", uiMgr.GetAbilityLocName((AbilityType)valueLowData.OptionId)
                                            , uiMgr.GetAbilityStrValue((AbilityType)valueLowData.OptionId, valueLowData.BasicValue * 0.1f));
            rndLbl.text = string.Format(_LowDataMgr.instance.GetStringCommon(179)
                                        , 0, 3);

            //생성되고 잘리는경우 위치값조정필요

            if (EquipItemTf.localPosition.x > 454)
            {
                EquipItemTf.SetLocalX(454f);
            }
            else if (EquipItemTf.localPosition.x < -447)
            {
                EquipItemTf.SetLocalX(-447f);
            }
        }
        else//소비 아이템이다.
        {
            EquipItemTf.gameObject.SetActive(false);
            UseItemTf.gameObject.SetActive(true);
            InvenSlot.transform.parent = UseItemTf.FindChild("ItemRoot");

            UILabel nameLbl = UseItemTf.FindChild("name").GetComponent <UILabel>();
            UILabel descLbl = UseItemTf.FindChild("desc").GetComponent <UILabel>();

            Item.ItemInfo useLowData = _LowDataMgr.instance.GetUseItem(lowDataId);
            nameLbl.text = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor(useLowData.Grade), _LowDataMgr.instance.GetStringItem(useLowData.NameId));

            descLbl.text = _LowDataMgr.instance.GetStringItem(useLowData.DescriptionId);

            //생성되고 잘리는경우 위치값조정필요
            if (UseItemTf.localPosition.x > 385)
            {
                UseItemTf.SetLocalX(385);
            }
            else if (UseItemTf.localPosition.x < -507)
            {
                UseItemTf.SetLocalX(-507);
            }
        }

        InvenSlot.transform.localPosition = Vector3.zero;
        InvenSlot.transform.localScale    = Vector3.one;
    }
Пример #21
0
    /// <summary> 아이템클릭시  </summary>
    void OnclicItemPopup(NetData.ShopItemInfo info, int price, Color nameColor)
    {
        //아이템세부정보
        //구매팝업에서는 무조건 1개로시작함

        string dec      = "";
        string itemName = "";

        if (_LowDataMgr.instance.GetLowDataEquipItemInfo(info.GoodsId) != null)//장비아이템
        {
            Item.EquipmentInfo equipLowData = _LowDataMgr.instance.GetLowDataEquipItemInfo(info.GoodsId);
            Item.ItemValueInfo valueLowData = _LowDataMgr.instance.GetLowDataItemValueInfo(equipLowData.BasicOptionIndex);

            //dec += _LowDataMgr.instance.GetStringItem(equipLowData.NameId);
            itemName = _LowDataMgr.instance.GetStringItem(equipLowData.NameId);
            //dec += "\n\n";
            dec += _LowDataMgr.instance.GetStringItem(equipLowData.DescriptionId);
            dec += "\n\n";
            dec += string.Format("{0} : {1}", uiMgr.GetAbilityLocName((AbilityType)valueLowData.OptionId)
                                 , uiMgr.GetAbilityStrValue((AbilityType)valueLowData.OptionId, valueLowData.BasicValue));;
            dec += "\n\n";
            dec += string.Format(_LowDataMgr.instance.GetStringCommon(179)
                                 , 0, 3);
        }
        else
        {
            Item.ItemInfo useLowData = _LowDataMgr.instance.GetUseItem(info.GoodsId);
            itemName = _LowDataMgr.instance.GetStringItem(useLowData.NameId);
            //dec += _LowDataMgr.instance.GetStringItem(useLowData.NameId);
            //dec += "\n\n";
            dec += _LowDataMgr.instance.GetStringItem(useLowData.DescriptionId);
        }

        GoodsName.text  = itemName;
        GoodsName.color = nameColor;
        GoodsInfo.text  = dec;

        //        시간 / 한정판매아이템일경우 초기화시간자리에 정보를 표시해줘야함
        if (CurShopType == 102 || CurShopType == 202)
        {
            //TimeItemInfo.gameObject.SetActive(true);
            ulong start = _LowDataMgr.instance.GetLowDataShopById(info.DbIndex).shopopentime;
            ulong end   = _LowDataMgr.instance.GetLowDataShopById(info.DbIndex).shopclosetime;

            //577 {0}년{0}월{1}일 // 260 {0}분
            string Start = string.Format(_LowDataMgr.instance.GetStringCommon(577),
                                         start.ToString().Substring(0, 4), start.ToString().Substring(4, 2), start.ToString().Substring(6, 2));
            Start += string.Format(_LowDataMgr.instance.GetStringCommon(260), start.ToString().Substring(8, 2));
            //Start += ":";
            //Start += start.ToString().Substring(2, 2);
            //Start += ":";
            //Start += start.ToString().Substring(4, 2);

            string End = string.Format(_LowDataMgr.instance.GetStringCommon(577),
                                       end.ToString().Substring(0, 4), end.ToString().Substring(4, 2), end.ToString().Substring(6, 2));
            End += string.Format(_LowDataMgr.instance.GetStringCommon(260), end.ToString().Substring(8, 2));


            //string End = end.ToString().Substring(0, 2);
            //End += ":";
            //End += end.ToString().Substring(2, 2);

            //End += ":";
            //End += end.ToString().Substring(4, 2);

            TimeItemInfo.text = string.Format("{0} ~ {1}", Start, End);
        }

        UseSellAmount      = 1;
        UseSellTotalAmount = (int)info.Account;

        TotalNum.text   = UseSellAmount.ToString();
        TotalPrice.text = (UseSellAmount * price).ToString();

        TotalPrice.color = ulong.Parse(TotalPrice.text) <= money ? Color.white : Color.red;  //돈이 모자르면 빨간색

        EventDelegate.Set(BtnPlus.onClick, delegate() { OnclickUseCount(1, price); });
        EventDelegate.Set(BtnMinus.onClick, delegate() { OnclickUseCount(-1, price); });

        EventDelegate.Set(BtnMax.onClick, delegate() { OnclickUseCount((int)info.Account, price); });


        EventDelegate.Set(BuyBtn.onClick, delegate()
        {
            if (UseSellAmount != 0)
            {
                string msg = string.Format(_LowDataMgr.instance.GetStringCommon(472), itemName);
                uiMgr.AddPopup(_LowDataMgr.instance.GetStringCommon(141), msg, _LowDataMgr.instance.GetStringCommon(467), _LowDataMgr.instance.GetStringCommon(76), null,
                               () =>
                {
                    SceneManager.instance.ShowNetProcess("PurchaseShopItme");
                    NetworkClient.instance.SendPMsgShopByItemC(info.Idx, CurShopType, info.GoodsId, (uint)UseSellAmount, info.DbIndex);
                });
            }
        });


        //  TotalPrice.text = ((ulong)UseSellTotalAmount * price) * ToString();//총 판매 금액
    }