/// <summary> 보상 세팅 </summary> public void SetRewardCard(System.Action <int> _clickCallback, uint lowDataId, uint amount, int arr) { GameObject slot = Instantiate(ItemSlotPrefab) as GameObject; slot.transform.parent = RewardGroup.transform; slot.transform.localPosition = Vector3.zero; slot.transform.localScale = Vector3.one; ItemSlotObj = slot.GetComponent <InvenItemSlotObject>(); CardArray = arr; ClickCallback = _clickCallback; UIEventListener.Get(gameObject).onClick = CardClickEvent; CostGroup.SetActive(false); ActiveCollider(false); PlayTween = GetComponentInParent <UIPlayTween>(); Img.spriteName = "reward_pendant_back"; CardOpenEffGo.SetActive(false); ItemSlotObj.SetLowDataItemSlot(lowDataId, amount); CostLabel.text = string.Format("{0}", _LowDataMgr.instance.GetEtcTableValue <int>(EtcID.PassCard)); }
/// <summary> /// 부모 패널에서 실질적인 선택이 이뤄지면 들어오는 함수 /// </summary> public void OpeningEvent(uint lowDataId, ushort amount) { ActiveCollider(false); CostGroup.SetActive(false); CardOpenEffGo.SetActive(true); TweenRotation rot = GetComponentInParent <TweenRotation>();//시작은 로테이션 rot = TweenRotation.Begin(transform.parent.gameObject, rot.duration, Quaternion.Euler(-rot.from)); rot.onFinished.Clear(); TempCoroutine.instance.FrameDelay(rot.delay + (rot.duration * 0.5f), () => { Img.spriteName = "reward_pendant_back"; ItemSlotObj.SetLowDataItemSlot(lowDataId, amount); RewardGroup.SetActive(true); CostGroup.SetActive(false); }); //EventDelegate.Set(rot.onFinished, delegate () { // ItemSlotObj.SetLowDataItemSlot(lowDataId, amount); // RewardGroup.SetActive(true); // CostGroup.SetActive(false); //}); rot.ResetToBeginning(); rot.Play(true); }
/// <summary> 소탕 보상 슬롯 </summary> void OnCallBackSweepSlot(int arr, GameObject go) { if (SweepSlotList.Count <= arr) { go.SetActive(false); return; } NetData.SweepSlotData data = SweepSlotList[arr]; go.SetActive(true); Transform slotTf = go.transform; slotTf.FindChild("title").GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(304), (SweepSlotList.Count - arr)); //data.SweepCount slotTf.FindChild("get_gold").GetComponent <UILabel>().text = string.Format("{0}", data.GetGold == 0 ? "0" : data.GetGold.ToString()); //ToString("#,##")); slotTf.FindChild("get_exp").GetComponent <UILabel>().text = string.Format("{0}", data.GetExp == 0 ? "0" : data.GetExp.ToString()); //ToString("#,##")); for (int i = 0; i < 4; i++) { Transform itemRoot = slotTf.FindChild(string.Format("ItemRoot_{0}", i)); if (itemRoot == null) { continue; } if (data.DropList.Count <= i) { itemRoot.gameObject.SetActive(false); continue; } NetData.DropItemData dropData = data.DropList[i]; itemRoot.gameObject.SetActive(true); InvenItemSlotObject inven = itemRoot.GetChild(0).GetComponent <InvenItemSlotObject>(); inven.SetLowDataItemSlot(dropData.LowDataId, dropData.Amount); } for (int i = 0; i < 2; i++) { Transform itemRoot = slotTf.FindChild(string.Format("CardItemRoot_{0}", i)); if (itemRoot == null) { continue; } if (data.CardList.Count <= i) { itemRoot.gameObject.SetActive(false); continue; } NetData.DropItemData dropData = data.CardList[i]; itemRoot.gameObject.SetActive(true); InvenItemSlotObject inven = itemRoot.GetChild(0).GetComponent <InvenItemSlotObject>(); inven.SetLowDataItemSlot(dropData.LowDataId, dropData.Amount); } }
/// <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; }
/// <summary> /// 액티브스킬칸 누름/// </summary> void OnClickActiveSkill(int index, NetData._PartnerActiveSkillData selectSkill) { SelectActiveSkillIndex = index; for (int i = 0; i < SkillIcon.Length; i++) { GameObject selectEff = SkillIcon[i].transform.parent.transform.FindChild("Selecteff").gameObject; selectEff.SetActive(i == index); } SkillTables.ActionInfo actionLowData = _LowDataMgr.instance.GetSkillActionLowData(selectSkill._skillIndex); if (actionLowData == null) { return; } SkillTables.SkillLevelInfo levelLowData = _LowDataMgr.GetSkillLevelData(selectSkill._skillIndex, selectSkill._skillLevel); CurSelectSkillDec.text = _LowDataMgr.instance.GetStringSkillName(actionLowData.descrpition); Transform SkillView = ViewObj[(int)ViewType.Skill].transform; //만렙인지 체크 SkillTables.SkillLevelInfo nextLevelLowData = null; int maxSkillLevel = _LowDataMgr.instance.GetEtcTableValue <int>(EtcID.PartnerMaxSkillLevel); if (selectSkill._skillLevel < maxSkillLevel) { SkillView.FindChild("arrow").gameObject.SetActive(true); SkillView.FindChild("name").gameObject.SetActive(true); nextLevelLowData = _LowDataMgr.GetSkillLevelData(selectSkill._skillIndex, (byte)(selectSkill._skillLevel + 1)); CurSelectSkillLevel[1].text = string.Format(_LowDataMgr.instance.GetStringCommon(1151), selectSkill._skillLevel + 1); //스킬재료아이템 SkillLevelUpMaterialSlot.SetLowDataItemSlot(nextLevelLowData.SkillLevelUpItem1, 0, (lowDataId) => { OpenDetailPopup(null, nextLevelLowData.SkillLevelUpItem1); //UIMgr.OpenClickPopup((uint)lowDataId, SkillLevelUpMaterialSlot.transform.position); }); int nowAmount = UserInfo.GetItemCountForItemId(nextLevelLowData.SkillLevelUpItem1, (byte)eItemType.USE); bool isSuccess = true; if (nowAmount < nextLevelLowData.SkillLevelUpItem1Count || NetData.instance.GetAsset(AssetType.Gold) < nextLevelLowData.CostGold) { isSuccess = false; } SkillLevelUpRoot.FindChild("value").GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(1167), nowAmount, nextLevelLowData.SkillLevelUpItem1Count); SkillLevelUpRoot.FindChild("value").GetComponent <UILabel>().color = nowAmount < nextLevelLowData.SkillLevelUpItem1Count ? Color.red : Color.white; SkillLevelUpRoot.FindChild("Lock").gameObject.SetActive(nowAmount < nextLevelLowData.SkillLevelUpItem1Count); if (isSuccess) { BtnSkillLevelUp.transform.FindChild("Btn_on").gameObject.SetActive(true); BtnSkillLevelUp.transform.FindChild("Btn_off").gameObject.SetActive(false); BtnSkillLevelUp.transform.FindChild("Btn_on/price").GetComponent <UILabel>().text = string.Format("x{0}", nextLevelLowData.CostGold); } else { BtnSkillLevelUp.transform.FindChild("Btn_on").gameObject.SetActive(false); BtnSkillLevelUp.transform.FindChild("Btn_off").gameObject.SetActive(true); BtnSkillLevelUp.transform.FindChild("Btn_off/price").GetComponent <UILabel>().text = string.Format("x{0}", nextLevelLowData.CostGold); } SkillLevelUpRoot.gameObject.SetActive(true); BtnSkillLevelUp.transform.gameObject.SetActive(true); CurSelectSkillLevel[1].transform.parent.gameObject.SetActive(true); CurSelectSkilDamage[0].text = string.Format(_LowDataMgr.instance.GetStringCommon(1166), GetSkillDamage(levelLowData.factorRate.list, (float)levelLowData.factor).ToString()); CurSelectSkilDamage[1].text = string.Format(_LowDataMgr.instance.GetStringCommon(1166), GetSkillDamage(nextLevelLowData.factorRate.list, (float)nextLevelLowData.factor).ToString()); SkillMaxLevel.SetActive(false); //위치변경도 있어야함 CurSelectSkillLevel[0].transform.parent.transform.localPosition = new Vector3(-138, -3, 0); EventDelegate.Set(BtnSkillLevelUp.onClick, delegate() { if (!isSuccess) { string msg = ""; if (nowAmount < nextLevelLowData.SkillLevelUpItem1Count) { msg = _LowDataMgr.instance.GetStringCommon(1173); //재료부족 } else if (NetData.instance.GetAsset(AssetType.Gold) < nextLevelLowData.CostGold) { msg = _LowDataMgr.instance.GetStringCommon(1174); //골드부족 } UIMgr.instance.AddPopup(_LowDataMgr.instance.GetStringCommon(141), msg, _LowDataMgr.instance.GetStringCommon(117)); return; } NetworkClient.instance.SendPMsgHeroSkillUpgradeC(CurData._partnerIndex, SelectActiveSkillIndex + 1); }); } else { //만렙일경우 //현재 레벨만 표기 SkillView.FindChild("arrow").gameObject.SetActive(false); SkillView.FindChild("name").gameObject.SetActive(false); SkillLevelUpRoot.gameObject.SetActive(false); BtnSkillLevelUp.transform.gameObject.SetActive(false); CurSelectSkillLevel[1].transform.parent.gameObject.SetActive(false); //위치변경도 있어야함 CurSelectSkilDamage[0].text = string.Format(_LowDataMgr.instance.GetStringCommon(1166), GetSkillDamage(levelLowData.factorRate.list, (float)levelLowData.factor).ToString()); CurSelectSkillLevel[0].transform.parent.transform.localPosition = new Vector3(0, -3, 0); SkillMaxLevel.SetActive(true); } CurSelectSkillLevel[0].text = string.Format(_LowDataMgr.instance.GetStringCommon(1151), selectSkill._skillLevel); CurSelectSkillLevel[1].gameObject.transform.localScale = Vector3.one; }
void InitPromo() { Dictionary <AbilityType, float> nextAbilityDic = null; Transform evolveView = ViewObj[(int)ViewType.Evolve].transform; Damage.text = string.Format(_LowDataMgr.instance.GetStringCommon(1163), CurData._Attack); if (CurData.CurQuality >= 6) { //최대 for (int i = 0; i < NextEvolveAttAbilitys.Length; i++) { NextEvolveAttAbilitys[i].text = ""; } evolveView.FindChild("arrow").gameObject.SetActive(false); evolveView.FindChild("name").gameObject.SetActive(false); EvoleRoot.gameObject.SetActive(false); BtnEvolve.transform.gameObject.SetActive(false); EvolveLevel[1].transform.parent.gameObject.SetActive(false); EvolveLevel[0].transform.parent.transform.localPosition = new Vector3(0, 268.4f, 0); MaxEvolve.SetActive(true); } else { Partner.PartnerDataInfo nextInfo = _LowDataMgr.instance.GetPartnerInfo(CurData.GetLowData().QualityUpId); //다음승급데이터 nextAbilityDic = NetData.instance.CalcPartnerStats(CurData._NowLevel, nextInfo, nextInfo.Quality); EvolveLevel[1].text = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor((int)CurData.CurQuality + 1), GetGradeName((int)(CurData.CurQuality + 1))); EvolveManLevel[1].text = string.Format(_LowDataMgr.instance.GetStringCommon(1152), GetMaxEvolveLevel((int)CurData.CurQuality + 1)); //스킬재료아이템 EvolveMaterialSlot.SetLowDataItemSlot(CurData.GetLowData().QualityUpItem, 0, (lowDataId) => { OpenDetailPopup(null, CurData.GetLowData().QualityUpItem); }); int nowAmount = UserInfo.GetItemCountForItemId(CurData.GetLowData().QualityUpItem, (byte)eItemType.USE); bool isSuccess = true; if (nowAmount < CurData.GetLowData().QualityUpItemCount || NetData.instance.GetAsset(AssetType.Gold) < CurData.GetLowData().QualityUpNeedGold) { isSuccess = false; } EvoleRoot.FindChild("value").GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(1167), nowAmount, CurData.GetLowData().QualityUpItemCount); EvoleRoot.FindChild("value").GetComponent <UILabel>().color = nowAmount < CurData.GetLowData().QualityUpItemCount ? Color.red : Color.white; EvoleRoot.FindChild("Lock").gameObject.SetActive(nowAmount < CurData.GetLowData().QualityUpItemCount); if (isSuccess) { BtnEvolve.transform.FindChild("Btn_on").gameObject.SetActive(true); BtnEvolve.transform.FindChild("Btn_off").gameObject.SetActive(false); BtnEvolve.transform.FindChild("Btn_on/price").GetComponent <UILabel>().text = string.Format("x{0}", CurData.GetLowData().QualityUpNeedGold); } else { BtnEvolve.transform.FindChild("Btn_on").gameObject.SetActive(false); BtnEvolve.transform.FindChild("Btn_off").gameObject.SetActive(true); BtnEvolve.transform.FindChild("Btn_off/price").GetComponent <UILabel>().text = string.Format("x{0}", CurData.GetLowData().QualityUpNeedGold); } EventDelegate.Set(BtnEvolve.onClick, delegate() { if (IsUpgrading) { SceneManager.instance.SetNoticePanel(NoticeType.Message, 9921); return; } if (!isSuccess) { string msg = ""; if (nowAmount < CurData.GetLowData().QualityUpItemCount) { msg = _LowDataMgr.instance.GetStringCommon(1173); //재료부족 } else if (NetData.instance.GetAsset(AssetType.Gold) < CurData.GetLowData().QualityUpNeedGold) { msg = _LowDataMgr.instance.GetStringCommon(1174); //골드부족 } UIMgr.instance.AddPopup(_LowDataMgr.instance.GetStringCommon(141), msg, _LowDataMgr.instance.GetStringCommon(117)); return; } NetworkClient.instance.SendPMsgHeroEvolveC(CurData._partnerIndex); }); evolveView.FindChild("arrow").gameObject.SetActive(true); evolveView.FindChild("name").gameObject.SetActive(true); EvoleRoot.gameObject.SetActive(true); BtnEvolve.transform.gameObject.SetActive(true); EvolveLevel[1].transform.parent.gameObject.SetActive(true); EvolveLevel[0].transform.parent.transform.localPosition = new Vector3(-145.5f, 268.4f, 0); MaxEvolve.SetActive(false); } EvolveLevel[0].text = string.Format("{0}{1}[-]", UIHelper.GetItemGradeColor((int)CurData.CurQuality), GetGradeName((int)CurData.CurQuality)); EvolveManLevel[0].text = string.Format(_LowDataMgr.instance.GetStringCommon(1152), GetMaxEvolveLevel((int)CurData.CurQuality)); EvolveLevel[1].gameObject.transform.localScale = Vector3.one; Dictionary <AbilityType, float> abilityDic = NetData.instance.CalcPartnerStats(CurData._NowLevel, CurData.GetLowData(), CurData.CurQuality); //어빌리티 정보 셋팅 int length = EvolveAttAbilitys.Length; for (int i = 0; i < length; i++) { float value = 0; AbilityType a = (AbilityType)i + 1; abilityDic.TryGetValue(a, out value); if (nextAbilityDic != null) { float nextValue = 0; AbilityType b = (AbilityType)i + 1; nextAbilityDic.TryGetValue(b, out nextValue); if (nextValue - value > 0) { NextEvolveAttAbilitys[i].text = string.Format("▲{0}", nextValue - value); } else if (nextValue - value == 0) { NextEvolveAttAbilitys[i].text = "━"; } } EvolveAttAbilitys[i].text = UIMgr.instance.GetAbilityStrValue(a, value); } }
/// <summary> 메인퀘스트 셋팅 함수 </summary> void SetMainItem(Transform tf, QuestInfo questInfo) { Quest.QuestInfo lowData = _LowDataMgr.instance.GetLowDataQuestData(questInfo.unTaskId); tf.FindChild("Title/Txt_title").GetComponent <UILabel>().text = lowData.Title; //제목 tf.FindChild("Detail/Txt_info").GetComponent <UILabel>().text = lowData.Description; //내용 int count = 0; //아이템있다 if (0 < lowData.rewardItem) { List <GatchaReward.FixedRewardInfo> infoList = _LowDataMgr.instance.GetFixedRewardItemGroupList(lowData.rewardItem); byte myClass = 1; //장비만 직업이다르므로 if (infoList[0].Type == 12) { if (NetData.instance.GetUserInfo().GetCharIdx() == 12000) { myClass = 2; } else if (NetData.instance.GetUserInfo().GetCharIdx() == 13000) { myClass = 3; } } else { myClass = 99; } //내 직업과맞는걸 넣어줘라 GatchaReward.FixedRewardInfo info = new GatchaReward.FixedRewardInfo(); for (int i = 0; i < infoList.Count; i++) { if (infoList[i].ClassType != myClass) { continue; } info = infoList[i]; } tf.FindChild("Reward/item").localPosition = RewardPos[count++]; InvenItemSlotObject slot = null; if (0 < tf.FindChild("Reward/item").childCount) { slot = tf.FindChild("Reward/item").GetChild(0).GetComponent <InvenItemSlotObject>(); } else { GameObject go = UIHelper.CreateInvenSlot(tf.FindChild("Reward/item")); go.collider.enabled = false; slot = go.GetComponent <InvenItemSlotObject>(); } slot.SetLowDataItemSlot(info.ItemId == 0 ? info.Type : info.ItemId, info.ItemCount); UIEventTrigger etri = tf.FindChild("Reward/item").GetComponent <UIEventTrigger>(); EventDelegate.Set(etri.onClick, delegate() { //UIMgr.OpenClickPopup(info.ItemId, tf.FindChild("Reward/item").transform.position); UIMgr.OpenDetailPopup(this, info.ItemId); }); tf.FindChild("Reward/item").gameObject.SetActive(true); } else { tf.FindChild("Reward/item").gameObject.SetActive(false); } if (SetRewardTf(tf.FindChild("Reward/gold"), lowData.rewardGold, false)) { tf.FindChild("Reward/gold").localPosition = RewardPos[count++]; } if (SetRewardTf(tf.FindChild("Reward/exp"), lowData.rewardExp, true)) { tf.FindChild("Reward/exp").localPosition = RewardPos[count++]; } if (QuestManager.instance.GetCurrentQuestInfo().unTaskId != questInfo.unTaskId) { bool isEndQuest = false, isReward = false, isGoto = false; if (questInfo.unComplete == 1) //클리어 { if (questInfo.unFetchBonus == 0) //미수령 { isReward = true; } else//수령 { isEndQuest = true; } } else if (lowData.value != 0)//미 클리어(진행중?) { isGoto = true; //tf.FindChild("slider/value").GetComponent<UILabel>().text = string.Format("{0} / {1}", questInfo.unTargetNum, lowData.value); //tf.FindChild("slider/filled").GetComponent<UISprite>().fillAmount = questInfo.unTargetNum / lowData.value; } //tf.FindChild("Clear").gameObject.SetActive(isEndQuest); tf.FindChild("BtnReward").gameObject.SetActive(isReward); //tf.FindChild("slider").gameObject.SetActive(isGoto); tf.FindChild("BtnGoto").gameObject.SetActive(isGoto); } else//진행중인 미션임. 이거는 버튼이 활성화 되지 않이함. { //tf.FindChild("Clear").gameObject.SetActive(false); tf.FindChild("BtnReward").gameObject.SetActive(false); //tf.FindChild("slider").gameObject.SetActive(false); tf.FindChild("BtnGoto").gameObject.SetActive(false); } }
/// <summary> /// 장비강화재료 / 스킬강화재료 던전 /// </summary> void OnClickEquipAndSkillDungeon(bool isEquip) { _LowDataMgr lowMgr = _LowDataMgr.instance; ViewObjs[0].SetActive(false); ViewObjs[1].SetActive(false); ViewObjs[2].SetActive(true); EquipLvGroup.transform.gameObject.SetActive(isEquip); SkillLvGroup.transform.gameObject.SetActive(!isEquip); byte useEnergy = 0; List <string> itemList = null; if (isEquip) { //장비강화 DungeonTable.EquipInfo equipDungeonInfo = lowMgr.GetLowDataEquipBattle((byte)MaterialDungeonLevelDifficulty); if (equipDungeonInfo != null) { itemList = equipDungeonInfo.RewardItemId.list; useEnergy = equipDungeonInfo.UseEnergy; } } else { //스킬강화 DungeonTable.SkillInfo skillDungeonInfo = lowMgr.GetLowDataSkillBattle((byte)MaterialDungeonLevelDifficulty); if (skillDungeonInfo != null) { itemList = skillDungeonInfo.RewardItemId.list; useEnergy = skillDungeonInfo.UseEnergy; } } bool canGo = NetData.instance.GetAsset(AssetType.Energy) >= useEnergy; MaterialDungeonStartBtn.transform.FindChild("Txt_num").GetComponent <UILabel>().text = useEnergy.ToString(); MaterialDungeonStartBtn.transform.FindChild("Btn_on").gameObject.SetActive(canGo); MaterialDungeonStartBtn.transform.FindChild("Btn_off").gameObject.SetActive(!canGo); //드랍아이템 int dropIconCount = MaterialDungetnDropItem.Length; for (int i = 0; i < dropIconCount; i++) { if (itemList.Count <= i) { MaterialDungetnDropItem[i].gameObject.SetActive(false); continue; } uint itemId = uint.Parse(itemList[i]); MaterialDungetnDropItem[i].gameObject.SetActive(true); InvenItemSlotObject slot = MaterialDungetnDropItem[i].GetChild(0).GetComponent <InvenItemSlotObject>(); slot.SetLowDataItemSlot(itemId, 0, delegate(ulong key) { UIMgr.OpenDetailPopup(this, itemId); }); } MaterialDungetnDropItem[0].parent.GetComponent <UIGrid>().Reposition(); UIScrollView scroll = MaterialDungetnDropItem[0].parent.parent.GetComponent <UIScrollView>(); if (scroll != null) { scroll.ResetPosition(); scroll.enabled = itemList.Count <= 5 ? false : true; } EventDelegate.Set(MaterialDungeonStartBtn.onClick, delegate() { if (!canGo) { SceneManager.instance.SetNoticePanel(NoticeType.Message, 390); //체력부족? return; } //여기서 시작해줌 if (CurGameMode == GAME_MODE.SPECIAL_GOLD) { //uint level = NetData.instance.UserLevel; //byte dungeonId = 1; //while (true) //{ // DungeonTable.EquipInfo materialData = _LowDataMgr.instance.GetLowDataEquipBattle(dungeonId); // if (materialData != null) // { // if (materialData.MinenterLv < level) // break; // } // ++dungeonId; //} byte dungeonId = 1; DungeonTable.EquipInfo materialData = lowMgr.GetLowDataEquipBattle((byte)MaterialDungeonLevelDifficulty); if (materialData != null) { dungeonId = materialData.Index; } if (dungeonId == 0)//혹시 모를 경우를 대비해 이렇게 막아놓는다. { DungeonTable.EquipInfo mData = lowMgr.GetLowDataEquipBattle(1); string msg = _LowDataMgr.instance.GetStringCommon(699); msg = string.Format(msg, mData.MinenterLv); SceneManager.instance.SetNoticePanel(NoticeType.Message, 0, msg); return; } OnGoldGameStart(dungeonId); //NetworkClient.instance.SendPMsgCoinBattleStartC(dungeonId); } else if (CurGameMode == GAME_MODE.SPECIAL_EXP)//경험치 스테이지로 들어감 { //uint level = NetData.instance.UserLevel; //byte dungeonId = 1; //while (true) //{ // DungeonTable.SkillInfo skillData = _LowDataMgr.instance.GetLowDataSkillBattle(dungeonId); // if (skillData != null) // { // if (skillData.MinenterLv <= level) // break; // } // ++dungeonId; //} byte dungeonId = 1; DungeonTable.SkillInfo materialData = lowMgr.GetLowDataSkillBattle((byte)MaterialDungeonLevelDifficulty); if (materialData != null) { dungeonId = materialData.Index; } if (dungeonId == 0)//혹시 모를 경우를 대비해 이렇게 막아놓는다. { DungeonTable.SkillInfo skillData = lowMgr.GetLowDataSkillBattle(1); string msg = _LowDataMgr.instance.GetStringCommon(699); msg = string.Format(msg, skillData.MinenterLv); SceneManager.instance.SetNoticePanel(NoticeType.Message, 0, msg); return; } OnExpGameStart(dungeonId); //NetworkClient.instance.SendPMsgExpBattleStartC(dungeonId); } }); }
void OnClickRaid(bool isMulty, int groupId) { ViewObjs[0].SetActive(false); ViewObjs[1].SetActive(true); ViewObjs[2].SetActive(false); CurGameMode = isMulty ? GAME_MODE.MULTI_RAID : GAME_MODE.RAID; CurSubMode = groupId; uint bossIdx = 0; List <string> rewardList = null; List <string> itemList = null; if (!isMulty) { List <DungeonTable.SingleBossRaidInfo> raidLowList = _LowDataMgr.instance.GetLowDataBossRaidList(); int count = raidLowList.Count; for (int i = 0; i < count; i++) { DungeonTable.SingleBossRaidInfo raidLow = raidLowList[i]; if (raidLow.Type != groupId || raidLow.level != CurLevelDifficulty) { continue; } rewardList = raidLowList[i].RewardId.list; bossIdx = raidLowList[i].BossIdx; itemList = raidLowList[i].ItemId.list; RaidDesc.text = _LowDataMgr.instance.GetStringStageData(raidLowList[i].stageDesc); break; } } else { List <DungeonTable.MultyBossRaidInfo> raidLowList = _LowDataMgr.instance.GetLowDataMultyBossInfoList((byte)groupId); int count = raidLowList.Count; for (int i = 0; i < count; i++) { DungeonTable.MultyBossRaidInfo raidLow = raidLowList[i]; if (raidLow.level != CurLevelDifficulty) { continue; } rewardList = raidLowList[i].RewardId.list; bossIdx = raidLow.BossIdx; itemList = raidLow.ItemId.list; RaidDesc.text = _LowDataMgr.instance.GetStringStageData(raidLow.stageDesc); break; } } if (bossIdx <= 0) { Debug.LogError("not found boss Index Error " + CurSubMode); return; } UIHelper.CreateMonsterUIModel(RotationTargetList[0].transform, bossIdx, false, false, true, "DungeonPanel"); //드랍 아이템 셋 //드랍아이템은 나의 클래스에맞춰서 표시해준다 //장비아이템의경우 가장 등급이 높은것으로 int myClass = UIHelper.GetClassType(NetData.instance.GetUserInfo().GetCharIdx()); _LowDataMgr lowMgr = _LowDataMgr.instance; int dropIconCount = RaidDropItem.Length; for (int i = 0; i < dropIconCount; i++) { if (rewardList.Count <= i) { RaidDropItem[i].gameObject.SetActive(false); continue; } //uint rewardItemId = uint.Parse(rewardList[i]); uint itemId = uint.Parse(itemList[i]); RaidDropItem[i].gameObject.SetActive(true); InvenItemSlotObject slot = RaidDropItem[i].GetChild(0).GetComponent <InvenItemSlotObject>(); slot.SetLowDataItemSlot(itemId, 0, delegate(ulong key) { //UIMgr.OpenClickPopup(itemId, slot.transform.position); UIMgr.OpenDetailPopup(this, itemId); }); } RaidDropItem[0].parent.GetComponent <UIGrid>().Reposition(); UIScrollView scroll = RaidDropItem[0].parent.parent.GetComponent <UIScrollView>(); if (scroll != null) { scroll.ResetPosition(); scroll.enabled = rewardList.Count <= 5 ? false : true; } }
/// <summary> 10회 뽑기 </summary> public void OnTen(bool isSenior, NetData.DropItemData[] itemArr) { //reduceGachaOppotunity (!isSenior, 10); // refresh Transform goldTf = transform.FindChild("GachaView/List/Gold/Scroll/Grid"); Transform cashTf = transform.FindChild("GachaView/List/Cash/Scroll/Grid"); SetBox(goldTf.GetChild(0), true, true); //골드 SetBox(goldTf.GetChild(1), false, true); //골드 SetBox(cashTf.GetChild(0), true, false); //캐쉬 SetBox(cashTf.GetChild(1), false, false); //캐쉬 ///////// ResultCards[0].parent.gameObject.SetActive(false); ResultOneCard.gameObject.SetActive(false); ResultText.SetActive(false); AniObj.SetActive(true); Animation ani = CreateBox(isSenior, false, true); ani.Play(isSenior ? "box_gold_01" : "box_wood_01"); int length = ResultCards.Length; for (int i = 0; i < length; i++) { Transform tf = ResultCards[i]; if (tf == null) { Debug.LogError("is null error child number " + i); continue; } else if (itemArr.Length <= i) { continue; } tf.rotation = new Quaternion(0, 0, 0, 0);//원상 복구 tf.collider.enabled = false; tf.GetComponent <UISprite>().spriteName = ChardForward; InvenItemSlotObject slot = tf.FindChild("ItemRoot/slot").GetComponent <InvenItemSlotObject>(); slot.SetLowDataItemSlot(itemArr[i].LowDataId, itemArr[i].Amount); tf.FindChild("ItemRoot/slot").gameObject.SetActive(false); int idx = i; EventDelegate.Set(tf.FindChild("ItemRoot").transform.GetComponent <UIEventTrigger>().onClick, delegate() { uint itemidx = itemArr[idx].LowDataId; if (itemArr[idx].LowDataId == 1) { itemidx = 599000; } else if (itemArr[idx].LowDataId == 2 || itemArr[idx].LowDataId == 8) { itemidx = 599001; } else if (itemArr[idx].LowDataId == 5) { itemidx = 599002; } else { itemidx = itemArr[idx].LowDataId; } OnclicItemPopup(itemidx); }); } StartCoroutine("CardAction", false); IsGoldGacha = !isSenior; IsOnceGacha = false; SaveToDayCount(IsGoldGacha, 10); //BtnOpenCard.gameObject.SetActive(false); BtnOpenAllCard.gameObject.SetActive(false); BtnAgain.gameObject.SetActive(false); BtnClose.gameObject.SetActive(false); ChangeView(false); }
/// <summary> 한번 뽑기 </summary> public void OnOnce(bool isFree, bool isSenior, NetData.DropItemData itemData) { //reduceGachaOppotunity (!isSenior, 1); Transform goldTf = transform.FindChild("GachaView/List/Gold/Scroll/Grid"); Transform cashTf = transform.FindChild("GachaView/List/Cash/Scroll/Grid"); SetBox(goldTf.GetChild(0), true, true); SetBox(goldTf.GetChild(1), false, true); SetBox(cashTf.GetChild(0), true, false); SetBox(cashTf.GetChild(1), false, false); ResultCards[0].parent.gameObject.SetActive(false); ResultOneCard.gameObject.SetActive(false); ResultText.SetActive(false); Animation ani = CreateBox(isSenior, false, false); ani.Play(isSenior ? "box_gold_01" : "box_wood_01"); ResultOneCard.rotation = new Quaternion(0, 0, 0, 0);//원상 복구 ResultOneCard.collider.enabled = false; ResultOneCard.GetComponent <UISprite>().spriteName = ChardForward; OneCardSlot.gameObject.SetActive(false); OneCardSlot.SetLowDataItemSlot(itemData.LowDataId, itemData.Amount); EventDelegate.Set(ResultOneCard.FindChild("ItemRoot").transform.GetComponent <UIEventTrigger>().onClick, delegate() { uint itemidx = itemData.LowDataId; if (itemData.LowDataId == 1) { itemidx = 599000; } else if (itemData.LowDataId == 2 || itemData.LowDataId == 8) { itemidx = 599001; } else if (itemData.LowDataId == 5) { itemidx = 599002; } else { itemidx = itemData.LowDataId; } OnclicItemPopup(itemidx); }); StartCoroutine("CardAction", true); IsGoldGacha = !isSenior; IsOnceGacha = true; //BtnOpenCard.gameObject.SetActive(false); BtnOpenAllCard.gameObject.SetActive(false); BtnAgain.gameObject.SetActive(false); BtnClose.gameObject.SetActive(false); ChangeView(false); if (isFree)//타임 재갱신이 필요함. { NetworkClient.instance.SendPMsgLotteryQueryInfoC(); } SaveToDayCount(IsGoldGacha, 1); AniObj.SetActive(true); }
/// <summary> 층을 클릭함. </summary> void OnClickFloor(int arr) { if (TowerLowDataList.Count <= arr) { return; } CurrentLowDataArr = arr; DungeonTable.TowerInfo towerLowData = TowerLowDataList[arr]; CurrentFloor.text = string.Format(FloorText, towerLowData.level); //최초 보상 셋팅 GatchaReward.FixedRewardInfo fixedReward = _LowDataMgr.instance.GetFixedRewardItem(towerLowData.FirstReward); FirstReward.SetLowDataItemSlot(fixedReward.ItemId, 0, (key) => { UIMgr.OpenDetailPopup(this, (uint)key); }); //보상아이템 셋팅 List <string> rewardList = towerLowData.rewarditemId.list; int listCount = InvenSlotList.Count; uint myClass = NetData.instance.GetUserInfo().GetCharIdx(); switch (myClass) { case 11000: myClass = 1; break; case 12000: myClass = 2; break; case 13000: myClass = 3; break; } for (int i = 0; i < listCount; i++) { if (rewardList.Count <= i) { InvenSlotList[i].gameObject.SetActive(false); continue; } uint itemId = uint.Parse(rewardList[i]); InvenSlotList[i].gameObject.SetActive(true); Transform slotTf = InvenSlotList[i].transform; InvenSlotList[i].SetLowDataItemSlot(itemId, 0, (lowDataId) => { UIMgr.OpenDetailPopup(this, (uint)lowDataId); }); } ItemScroll.enabled = true; ItemScroll.ResetPosition(); if (rewardList.Count <= 4) { ItemScroll.enabled = false; } if (towerLowData.level < LastClearFloor)//클리어함 { FirstRewardClear.SetActive(true); } else//미클리어 { FirstRewardClear.SetActive(false); } if (LastClearFloor - 1 == arr) { SelectEff.localPosition = new Vector2(-1000, 1000); } else { Transform effTf = FloorGrid.transform.GetChild(arr).FindChild("eff_root"); SelectEff.parent = effTf; SelectEff.localPosition = Vector3.zero; SelectEff.localScale = Vector3.one; } //랭킹 NetworkClient.instance.SendPMsgTowerRankQueryC(towerLowData.level); }
/// <summary> 보상아이템 셋팅 </summary> void SettingRewardItem() { if (G_GameInfo.GameMode == GAME_MODE.ARENA) { RewardAssetTf.parent.gameObject.SetActive(false); return; } RewardAssetTf.parent.gameObject.SetActive(true); RewardAssetTf.gameObject.SetActive(false); RewardExp.gameObject.SetActive(false); RewardGold.gameObject.SetActive(false); uint firstRewardId = 0; uint fixedRewardId = 0; if (G_GameInfo.GameMode == GAME_MODE.SINGLE && isSuccess) { DungeonTable.StageInfo lowData = _LowDataMgr.instance.GetStageInfo(SingleGameState.lastSelectStageId); //최초보상이 있을씨에.. if (SingleGameState.IsFirstReward) { GatchaReward.FixedRewardInfo firstInfo = _LowDataMgr.instance.GetFixedRewardItem(lowData.FirstReward); GameObject go = Instantiate(ItemSlotPrefab) as GameObject; Transform tf = go.transform; tf.parent = RewardGrid.transform; tf.localPosition = Vector3.zero; tf.localScale = Vector3.one; InvenItemSlotObject firstSlotObj = go.GetComponent <InvenItemSlotObject>(); firstSlotObj.SetLowDataItemSlot(firstInfo.ItemId == 0 ? firstInfo.Type : firstInfo.ItemId, firstInfo.ItemCount); FirstRewardSlotLabel.transform.parent = go.transform; FirstRewardSlotLabel.transform.localPosition = new Vector3(0, 42, 0); FirstRewardSlotLabel.transform.localScale = Vector3.one; FirstRewardSlotLabel.SetActive(true); firstRewardId = firstInfo.ItemId == 0 ? firstInfo.Type : firstInfo.ItemId; } // 기본보상표시 0이면안준다 if (lowData.FixedReward != 0) { GatchaReward.FixedRewardInfo basicInfo = _LowDataMgr.instance.GetFixedRewardItem(lowData.FixedReward); GameObject basicGo = Instantiate(ItemSlotPrefab) as GameObject; Transform basicTf = basicGo.transform; basicTf.parent = RewardGrid.transform; basicTf.localPosition = Vector3.zero; basicTf.localScale = Vector3.one; InvenItemSlotObject basicSlotObj = basicGo.GetComponent <InvenItemSlotObject>(); basicSlotObj.SetLowDataItemSlot(basicInfo.ItemId == 0 ? basicInfo.Type : basicInfo.ItemId, basicInfo.ItemCount); BasicRewardSlotLabel.transform.parent = basicGo.transform; BasicRewardSlotLabel.transform.localPosition = new Vector3(0, 42, 0); BasicRewardSlotLabel.transform.localScale = Vector3.one; BasicRewardSlotLabel.SetActive(true); fixedRewardId = basicInfo.ItemId == 0 ? basicInfo.Type : basicInfo.ItemId; } } List <NetData.DropItemData> dropItemList = Reward.GetList; if (dropItemList != null) { int count = dropItemList.Count; for (int i = 0; i < count; i++) { NetData.DropItemData dropData = dropItemList[i]; //위에 표기됬으므로 표기안해줌 if (dropData.LowDataId == fixedRewardId) { continue; } if (dropData.LowDataId == firstRewardId) { continue; } GameObject go = Instantiate(ItemSlotPrefab) as GameObject; Transform tf = go.transform; tf.parent = RewardGrid.transform; tf.localPosition = Vector3.zero; tf.localScale = Vector3.one; InvenItemSlotObject slotObj = go.GetComponent <InvenItemSlotObject>(); slotObj.SetLowDataItemSlot(dropData.LowDataId, dropData.Amount); } RewardGrid.repositionNow = true; } if (5 < RewardGrid.transform.childCount) { RewardGrid.transform.parent.GetComponent <UIScrollView>().enabled = true; } else { RewardGrid.transform.parent.GetComponent <UIScrollView>().enabled = false; } if (G_GameInfo.GameMode == GAME_MODE.SINGLE)//GAME_MODE.SPECIAL) { return; } else { //획득 재화 설정 bool isGoldDungeon = false, isExpDungeon = false; if (G_GameInfo.GameMode == GAME_MODE.SPECIAL_EXP) { isExpDungeon = true; } else if (G_GameInfo.GameMode == GAME_MODE.SPECIAL_GOLD) { isGoldDungeon = true; } AssetType assetType = AssetType.None; if (G_GameInfo.GameMode == GAME_MODE.TOWER) { assetType = AssetType.Badge; } if (0 <= Reward.GetCoin && !isExpDungeon) { RewardGold.gameObject.SetActive(true); RewardGold.text = Reward.GetCoin == 0 ? "0" : Reward.GetCoin.ToString(); // ToString("#,##"); } if (0 <= Reward.GetExp && !isGoldDungeon) { RewardExp.gameObject.SetActive(true); RewardExp.text = Reward.GetExp == 0 ? "0" : Reward.GetExp.ToString(); // ToString("#,##"); } if (0 <= Reward.GetAsset && assetType != AssetType.None) { RewardAssetTf.gameObject.SetActive(true); RewardAssetTf.GetComponent <UILabel>().text = Reward.GetAsset == 0 ? "0" : Reward.GetAsset.ToString(); // ToString("#,##"); UISprite sp = RewardAssetTf.FindChild("icon").GetComponent <UISprite>(); switch (assetType) { case AssetType.Badge: sp.spriteName = "badge_A"; //Img_flag2 break; } } } }
/// <summary> 비동기 방식의 게임들 결과화면 </summary> void ResultDungeon() { if (G_GameInfo.GameMode == GAME_MODE.SINGLE) { //현재 최초보상받을수있는지 체크? DungeonTable.StageInfo lowData = _LowDataMgr.instance.GetStageInfo(SingleGameState.lastSelectStageId); if (lowData != null) { //if (lowData.type == 2 && isSuccess) // { if (SingleGameState.IsFirstReward) { GatchaReward.FixedRewardInfo firstInfo = _LowDataMgr.instance.GetFixedRewardItem(lowData.FirstReward); //최초보상받을시기? GameObject go = Instantiate(ItemSlotPrefab) as GameObject; Transform tf = go.transform; tf.parent = FirstRewardPopup.transform.FindChild("Icon").transform; tf.localPosition = Vector3.zero; tf.localScale = Vector3.one; UILabel name = FirstRewardPopup.transform.FindChild("Txt_Iconname").GetComponent <UILabel>(); InvenItemSlotObject slotObj = go.GetComponent <InvenItemSlotObject>(); slotObj.SetLowDataItemSlot(firstInfo.ItemId == 0? firstInfo.Type : firstInfo.ItemId, firstInfo.ItemCount); Item.EquipmentInfo equipInfo = _LowDataMgr.instance.GetLowDataEquipItemInfo(firstInfo.ItemId); if (equipInfo != null) //장비 { name.text = _LowDataMgr.instance.GetStringItem(equipInfo.NameId); } else { uint id = 0; //혹시 재화인가.... if (firstInfo.ItemId == 0) { switch (firstInfo.Type) { case 1: //골드 id = 599000; break; case 2: //원보 id = 599001; break; case 3: //공헌 id = 599004; break; case 4: //명예 id = 599005; break; case 5: //휘장 id = 599002; break; case 6: //사자왕 id = 599006; break; case 7: //성망 id = 599003; break; case 8: //체력 id = 599104; break; case 9: //경험치; id = 599105; break; } name.text = _LowDataMgr.instance.GetStringItem(_LowDataMgr.instance.GetUseItem(firstInfo.ItemId == 0 ? id : firstInfo.ItemId).NameId); } else { name.text = _LowDataMgr.instance.GetStringItem(_LowDataMgr.instance.GetUseItem(firstInfo.ItemId).NameId); } } SetRenderQueue renderQ = UIHelper.FindComponent <SetRenderQueue>(FirstRewardPopup.transform.FindChild("Effect")); if (renderQ != null) { renderQ.ResetRenderQ(3031); } FirstRewardPopup.SetActive(true); TempCoroutine.instance.FrameDelay(0.1f, () => { FirstRewardPopup.transform.GetComponent <TweenScale>().ResetToBeginning(); FirstRewardPopup.transform.GetComponent <TweenScale>().PlayForward(); }); TempCoroutine.instance.FrameDelay(3f, () => { FirstRewardPopup.SetActive(false); }); } } // } if (isSuccess && SceneManager.instance.CurTutorial == TutorialType.STAGE)//튜토리얼 중 스테이지 클리어했다면 { SceneManager.instance.CurTutorial = TutorialType.STAGE; } } Reward = NetData.instance._RewardData; if (Reward == null)//없으면 안돼겠지만. 뻑은 안나게.. { Reward = new NetData.RewardData(); } uint curExp = 0, maxExp = 0, level = 0; if (Reward.GetExp <= 0)//획득 경험치가 있다면 뭔가 데이터가 있다는 것임. { level = NetData.instance.UserLevel; NetData.instance.GetUserInfo().GetCurrentAndMaxExp(ref curExp, ref maxExp); } else { curExp = Reward.SaveExp; maxExp = Reward.SaveMaxExp; level = Reward.SaveLevel; } ExpGauge.value = (float)curExp / (float)maxExp; Labels[(int)labelT.hLv].text = string.Format(_LowDataMgr.instance.GetStringCommon(453), level); SettingRewardItem(); if (G_GameInfo.GameMode == GAME_MODE.SINGLE)//싱글게임에만 스테이지 퀘스트가 존재. { StartCoroutine("MissionResult"); } else if (G_GameInfo.GameMode != GAME_MODE.ARENA) { Result(); } if (isSuccess) { TitleObj[0].SetActive(true); UIHelper.CreateEffectInGame(TitleObj[0].transform.FindChild("bg"), "Fx_UI_exp_result_01"); } else { TitleObj[1].SetActive(true); } }
public override void LateInit() { base.LateInit(); //파라메터로 넘어오는 데이터 세팅 isSuccess = (bool)parameters[0]; GAME_MODE gameMode = G_GameInfo.GameMode; if (gameMode == GAME_MODE.SINGLE && (G_GameInfo.GameInfo as SingleGameInfo).IsQuestClear)//이 경우 마을가기만 존재함 { Btns[(int)btnT.nextZone].gameObject.SetActive(false); Btns[(int)btnT.goStageBtn].gameObject.SetActive(false); Btns[(int)btnT.goTownBtn].gameObject.SetActive(false); Btns[(int)btnT.clearQuest].gameObject.SetActive(true); EventDelegate.Set(Btns[(int)btnT.clearQuest].onClick, delegate() { GotoTown(null); }); } else//게임모드에 따라서 버튼 추가 { if (gameMode == GAME_MODE.SINGLE || gameMode == GAME_MODE.TOWER) { Btns[(int)btnT.nextZone].gameObject.SetActive(isSuccess); //승리했을때만 다음스테이지가 나와야한다? } else { Btns[(int)btnT.nextZone].gameObject.SetActive(false); } uint key = 0; if (gameMode == GAME_MODE.TOWER) { key = 540; } else { key = 531; } Btns[(int)btnT.nextZone].transform.FindChild("label").GetComponent <UILabel>().text = _LowDataMgr.instance.GetStringCommon(key); Btns[(int)btnT.clearQuest].gameObject.SetActive(false); } RewardAssetTf.parent.gameObject.SetActive(false); ResultDungeon(); if (gameMode == GAME_MODE.ARENA)//등급 상승 or 하락 연출 { //성망획득량.. 승/패와관려없이 나옴 GameObject go = Instantiate(ItemSlotPrefab) as GameObject; Transform tf = go.transform; tf.parent = ArenaView.FindChild("RankInfo/item").transform; tf.localPosition = Vector3.zero; tf.localScale = Vector3.one; InvenItemSlotObject slotObj = go.GetComponent <InvenItemSlotObject>(); slotObj.SetLowDataItemSlot(599003, (uint)parameters[1]); ArenaView.FindChild("RankPop/BeforeNum").GetComponent <UILabel>().text = string.Format("{0}", ArenaGameState.MyRank - ArenaGameState.TargetRank); ArenaView.FindChild("RankPop/AfterNum-").GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(1267), (ArenaGameState.MyTopRank - ArenaGameState.TargetRank) * _LowDataMgr.instance.GetEtcTableValue <uint>(EtcID.PvPfirstgetcash)); StartCoroutine("TextAction", new object[] { ArenaGameState.MyRank, ArenaGameState.TargetRank, _LowDataMgr.instance.GetStringCommon(521), ArenaView.FindChild("RankPop/AfterNum").GetComponent <UILabel>() }); if (isSuccess && ArenaGameState.TargetRank < ArenaGameState.MyTopRank)//등급 상승 { ArenaView.FindChild("RankPop/BeforeNum").GetComponent <UILabel>().text = string.Format("{0}", ArenaGameState.MyRank - ArenaGameState.TargetRank); ArenaView.FindChild("RankPop/AfterNum-").GetComponent <UILabel>().text = string.Format(_LowDataMgr.instance.GetStringCommon(1267), (ArenaGameState.MyTopRank - ArenaGameState.TargetRank) * _LowDataMgr.instance.GetEtcTableValue <uint>(EtcID.PvPfirstgetcash)); StartCoroutine("TextAction", new object[] { ArenaGameState.MyRank, ArenaGameState.TargetRank, _LowDataMgr.instance.GetStringCommon(521), ArenaView.FindChild("RankPop/AfterNum").GetComponent <UILabel>() }); //최고랭킹달성원보 GameObject gem = Instantiate(ItemSlotPrefab) as GameObject; Transform gemTf = gem.transform; gemTf.parent = ArenaView.FindChild("RankInfo/gem").transform; gemTf.localPosition = Vector3.zero; gemTf.localScale = Vector3.one; InvenItemSlotObject gemObj = gem.GetComponent <InvenItemSlotObject>(); gemObj.SetLowDataItemSlot(599001, (uint)parameters[2]); EventDelegate.Set(ArenaView.FindChild("RankPop/BtnClose").GetComponent <UIEventTrigger>().onClick, () => { if (ArenaView.FindChild("RankPop/bg").transform.childCount > 0) { DestroyImmediate(ArenaView.FindChild("RankPop/bg").transform.GetChild(0).gameObject); } ArenaView.FindChild("RankPop").gameObject.SetActive(false); ArenaResult(); //이때켜준다 ArenaView.FindChild("RankInfo").gameObject.SetActive(true); transform.FindChild("Normal").gameObject.SetActive(true); }); ArenaView.FindChild("RankPop").gameObject.SetActive(true); ArenaView.FindChild("RankInfo").gameObject.SetActive(false); transform.FindChild("Normal").gameObject.SetActive(false); //이펙트 UIHelper.CreateEffectInGame(ArenaView.FindChild("RankPop/title").transform, "Fx_UI_result_01"); TempCoroutine.instance.FrameDelay(1.5f, () => { UIHelper.CreateEffectInGame(ArenaView.FindChild("RankPop/bg").transform, "Fx_UI_result_02"); }); } else { ArenaView.FindChild("RankPop").gameObject.SetActive(false); ArenaView.FindChild("RankInfo").gameObject.SetActive(true); transform.FindChild("Normal").gameObject.SetActive(true); ArenaResult(); } ArenaView.gameObject.SetActive(true); } if (SceneManager.instance.testData.bSingleSceneTestStart) { TempCoroutine.instance.FrameDelay(2f, () => { GotoTown(null); }); } if (SceneManager.instance.testData.bQuestTestStart) { TempCoroutine.instance.FrameDelay(2f, () => { GotoTown(null); }); } }
/// <summary> 메일 아이템 획득 연출 </summary> void UpdateGetMailItem() { for (int j = 0; j < GetMailSlotTf.Length; j++) { Transform tf = GetMailSlotTf[j]; TweenAlpha alpha = tf.GetComponent <TweenAlpha>(); if (0 < alpha.value)//아직 사용중. { continue; } NetData.EmailAttachmentInfo mailInfo = GetItemList[0]; GetItemList.RemoveAt(0); tf.GetComponent <UIWidget>().enabled = true; UILabel amount = tf.FindChild("amount").GetComponent <UILabel>(); Transform normalTf = tf.FindChild("normal"); InvenItemSlotObject invenSlot = tf.FindChild("root").GetChild(0).GetComponent <InvenItemSlotObject>(); Vector3 pos = tf.localPosition; pos.y = j * 55; tf.localPosition = pos; //if (mailInfo.GoodType == (int)AssetType.None || mailInfo.GoodType == (int)AssetType.Everything)//소비, 장비 if (50 < mailInfo.Id) { normalTf.gameObject.SetActive(false); invenSlot.gameObject.SetActive(true); invenSlot.SetLowDataItemSlot(mailInfo.Id == 0 ? mailInfo.GoodType : mailInfo.Id, mailInfo.Count); } else { normalTf.gameObject.SetActive(true); invenSlot.gameObject.SetActive(false); switch ((AssetType)mailInfo.GoodType) { case AssetType.Exp: normalTf.FindChild("sprite").gameObject.SetActive(false); normalTf.FindChild("exp").gameObject.SetActive(true); break; default: normalTf.FindChild("sprite").gameObject.SetActive(true); normalTf.FindChild("exp").gameObject.SetActive(false); UISprite sp = normalTf.FindChild("sprite").GetComponent <UISprite>(); if (mailInfo.GoodType == (int)AssetType.Energy) { sp.spriteName = "stamina"; } else if (mailInfo.GoodType == (int)AssetType.Gold) { sp.spriteName = "money"; } else if (mailInfo.GoodType == (int)AssetType.Cash) { sp.spriteName = "cash"; } break; } } amount.text = string.Format("{0}", mailInfo.Count); alpha.ResetToBeginning(); alpha.PlayForward(); break; } if (GetItemList.Count <= 0) { TweenAlpha mailAlpha = GetMailSlotTf[0].GetComponent <TweenAlpha>(); TempCoroutine.instance.KeyDelay("GetMailItem", mailAlpha.delay + mailAlpha.duration, () => { NoticeGo[(int)NoticeType.GetMailItem].SetActive(false); }); } }