using UnityEngine; using UnityEngine.UI; using TMPro; public class EscrDungeonItem : EScrCell { GameObject unlockSet; GameObject lockSet; GameObject clearStamp; ButtonIV btnTry; Image imgTicket; TextMeshProUGUI btnTicket; TextMeshProUGUI txtEnter; GameObject imgHighlight; TextMeshProUGUI txtLevel; TextMeshProUGUI txtCur; TextMeshProUGUI txtUnlockCondition; int dungeonId = 0; public override void InitCell() { unlockSet = transform.Find("Unlock").gameObject; lockSet = transform.Find("Lock").gameObject; clearStamp = unlockSet.transform.Find("Clear").gameObject; btnTry = unlockSet.transform.Find("btnChallenge").GetComponent(); txtEnter = btnTry.transform.Find("txt").GetComponent(); txtEnter.text = LocalizationText.GetText("all_enter"); imgTicket = btnTry.transform.Find("icon").GetComponent(); btnTicket = btnTry.transform.Find("txtPrice").GetComponent(); imgHighlight = unlockSet.transform.Find("imgCurrent").gameObject; txtLevel = unlockSet.transform.Find("txtLevel").GetComponent(); txtCur = unlockSet.transform.Find("txtCur").GetComponent(); txtUnlockCondition = lockSet.transform.Find("UnlockCondition").GetComponent(); } public override void Localize() { txtEnter.text = LocalizationText.GetText("all_enter"); } public override void SetData(int itemid) { itemID = itemid; DungeonMgr.DungeonKind dungeonKind = DungeonMgr.GetDungeonKind(); if (dungeonKind == DungeonMgr.DungeonKind.PetDG) { dungeonId = itemID + (iType * DataHandler.Const.dungeonPetStageMax); txtLevel.text = FormatString.StringFormat(LocalizationText.GetText("stage_select_stage"), (dungeonId - 1) % 10 + 1); } else { dungeonId = itemID; txtLevel.text = FormatString.StringFormat(LocalizationText.GetText("dg_diff"), dungeonId); } clearStamp.SetActive(true); btnTry.gameObject.SetActive(false); var targetDugeonInfo = DataHandler.GetDungeonTypeInfo(dungeonKind).diffs[dungeonId - 1]; var battlePower = DataHandler.CalcBattlePower(targetDugeonInfo.monAtk, targetDugeonInfo.monHp); txtCur.text = FormatString.StringFormat(LocalizationText.GetText("recommand_battlepower"), FormatString.BigIntString1(battlePower)); txtUnlockCondition.text = LocalizationText.GetText("awaken_unlock_dungeon"); btnTicket.text = "1";//DataHandler.GetPlayerDungeonInfoKind(DungeonMgr.GetDungeonKind()).ticket.ToString(); //imgTicket.sprite = imgTicketSet[(int)DungeonMgr.GetDungeonKind()]; imgTicket.sprite = AddressableMgr.GetDungeonPanel(100 + (int)DungeonMgr.GetDungeonKind()); int totalCount = DataHandler.GetDungeonClearLevel(DungeonMgr.GetDungeonKind()); if (dungeonId <= totalCount + 1) { unlockSet.SetActive(true); lockSet.SetActive(false); } else { unlockSet.SetActive(false); lockSet.SetActive(true); } if (dungeonId == totalCount + 1) { clearStamp.SetActive(false); btnTry.gameObject.SetActive(true); } if (dungeonId == DungeonMgr.GetSelectDgLv()) { imgHighlight.SetActive(true); txtLevel.color = Global.CLR_TextYellow; } else { imgHighlight.SetActive(false); txtLevel.color = new Color(1f, 1f, 1f); } if (DataHandler.GetPlayerDungeonInfoKind(dungeonKind).ticket > 0) { btnTry.interactable = true; } else { btnTry.interactable = false; } } public override void RefreshCellView() { base.RefreshCellView(); SetData(itemID); } public void OnBtnSelect() { SoundMgr.PlaySfx(SoundName.BtnPress); Logger.Log("item id : " + itemID); Logger.Log("calc : " + itemID + DungeonMgr.GetSelectPetArea() * DataHandler.Const.dungeonPetStageMax); DungeonMgr.SetRewardList(itemID + DungeonMgr.GetSelectPetArea() * DataHandler.Const.dungeonPetStageMax); } public void OnBtnGoDungeon() { SoundMgr.PlaySfx(SoundName.BtnPress); DungeonMgr.SPresetSetting(); } public void UpdateCell() { } }