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