/// <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);
    }
Esempio n. 2
0
    /// <summary> OwnPartner 초기화 함수 </summary>
    public void Init()
    {
        //TabGroup.Initialize(OnClickTabList);
        for (int i = 0; i < TabBtn.Length; i++)
        {
            int idx = i;
            EventDelegate.Set(TabBtn[idx].onClick, delegate() { OnClickTabList(idx); });
        }

        UserInfo = NetData.instance.GetUserInfo();

        EventDelegate.Set(BtnMove[0].GetComponent <UIButton>().onClick, delegate()
        {
            OnClickChangePartner(-1);
        });

        EventDelegate.Set(BtnMove[1].GetComponent <UIButton>().onClick, delegate()
        {
            OnClickChangePartner(1);
        });

        GameObject slotGo = Instantiate(InvenItemPrefab) as GameObject;
        Transform  tf     = slotGo.transform;

        tf.parent        = SkillLevelUpRoot.transform.FindChild("ItemRoot");
        tf.localPosition = Vector3.zero;
        tf.localScale    = Vector3.one;

        SkillLevelUpMaterialSlot = slotGo.GetComponent <InvenItemSlotObject>();
        SkillLevelUpMaterialSlot.EmptySlot();

        GameObject slotEvolveGo = Instantiate(InvenItemPrefab) as GameObject;
        Transform  tEvolvef     = slotEvolveGo.transform;

        tEvolvef.parent        = EvoleRoot.transform.FindChild("ItemRoot");
        tEvolvef.localPosition = Vector3.zero;
        tEvolvef.localScale    = Vector3.one;

        EvolveMaterialSlot = slotEvolveGo.GetComponent <InvenItemSlotObject>();
        EvolveMaterialSlot.EmptySlot();

        SkillMaxLevel.GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(1284), _LowDataMgr.instance.GetEtcTableValue <int>(EtcID.PartnerMaxSkillLevel));
        SkillMaxLevel.SetActive(false);
        MaxEvolve.GetComponent <UILabel>().text = _LowDataMgr.instance.GetStringCommon(1285);
        MaxEvolve.SetActive(false);
    }
    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);
            }
        }
    }
Esempio n. 4
0
    private int CurrentLowDataArr; //데이터 배열값 현재 선택된 층수의 배열값임

    public override void Init()
    {
        base.Init();
        //랭킹 슬롯 생성.
        for (int i = 1; i < SystemDefine.MaxTowerRanking; i++)//9개만 생성한다
        {
            GameObject slotGo = Instantiate(RankingPrefab) as GameObject;
            Transform  slotTf = slotGo.transform;
            slotTf.parent        = RankGrid.transform;
            slotTf.localPosition = Vector3.zero;
            slotTf.localScale    = Vector3.one;
            slotGo.SetActive(false);
        }

        Transform rewardTf = transform.FindChild("Info/Reward/Grid");

        if (rewardTf != null)
        {
            for (int i = 0; i < 10; i++)
            {
                GameObject          slotGo    = UIHelper.CreateInvenSlot(rewardTf);
                InvenItemSlotObject invenSlot = slotGo.GetComponent <InvenItemSlotObject>();
                invenSlot.SetBackGround("Bod_Inbod11");
                invenSlot.EmptySlot();

                InvenSlotList.Add(invenSlot);
            }
        }

        FirstRewardClear.SetActive(false);
        FloorGrid.parent.gameObject.SetActive(false);
        RankGrid.repositionNow = true;
        TowerLowDataList       = _LowDataMgr.instance.GetLowDataTowerList();
        FloorText = _LowDataMgr.instance.GetStringCommon(189);
        int floorCount = TowerLowDataList.Count;

        for (int i = 0; i < floorCount; i++)
        {
            GameObject go = Instantiate(FloorPrefab) as GameObject;
            Transform  tf = go.transform;
            tf.parent        = FloorGrid.transform;
            tf.localPosition = Vector3.zero;
            tf.localScale    = Vector3.one;
        }

        GameObject firstGo = UIHelper.CreateInvenSlot(transform.FindChild("Info/FirstReward"));

        FirstReward = firstGo.GetComponent <InvenItemSlotObject>();

        UIButton uiBtn = transform.FindChild("Info/BtnEntry").GetComponent <UIButton>();

        EventDelegate.Set(uiBtn.onClick, OnClickEntry);

        //상점 바로가기
        EventDelegate.Set(transform.FindChild("Info/BtnShop").GetComponent <UIButton>().onClick, OnclickShowShopPanel);

        SelectEff = UIHelper.CreateEffectInGame(transform, "Fx_UI_tower_position_01").transform;
        TempCoroutine.instance.FrameDelay(0.1f, () =>
        {
            Material effM_1 = SelectEff.GetChild(0).FindChild("fix_circle_1").renderer.material;
            Material effM_2 = SelectEff.GetChild(0).FindChild("fix_circle_2").renderer.material;
            effM_1.SetColor("_TintColor", SelectColor[0]);
            effM_2.SetColor("_TintColor", SelectColor[1]);
        });

        SelectEff.GetChild(0).FindChild("_particle_set").gameObject.SetActive(false);
        SelectEff.GetChild(0).FindChild("Ray_1").gameObject.SetActive(false);
        SelectEff.GetChild(0).FindChild("Ray_2").gameObject.SetActive(false);

        MinPosY = FloorScroll.transform.localPosition.y;
    }