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); } } }