using UnityEngine; using TMPro; public class EscrTrainDgLevel : EScrCell { [SerializeField] GraphicsColorSetter levelTxtColorSetter; GameObject unlockSet; GameObject lockSet; GameObject clearStamp; GameObject btnTry; GameObject imgHighlight; TextMeshProUGUI txtLevel; TextMeshProUGUI txtCur; TextMeshProUGUI txtUnlockCondition; TrainDgData trainDgData; 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").gameObject; 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 SetData(int itemid) { itemID = itemid; GameModDataGroup.Instance.TryGetModData(TrainDgProp.CodeName, out trainDgData); Debug.Assert(trainDgData != null, "invalid mod data"); clearStamp.SetActive(true); btnTry.SetActive(false); txtLevel.text = FormatString.StringFormat(LocalizationText.GetText("dg_diff"), itemID); txtCur.text = FormatString.StringFormat(LocalizationText.GetText("recommand_battlepower"), FormatString.BigIntString1(trainDgData.GetRecommendBattlePower((uint)itemID))); txtUnlockCondition.text = LocalizationText.GetText("awaken_unlock_dungeon"); if (itemID <= trainDgData.Level) { unlockSet.SetActive(true); lockSet.SetActive(false); } else { unlockSet.SetActive(false); lockSet.SetActive(true); } if (itemID == trainDgData.Level) { clearStamp.SetActive(false); btnTry.SetActive(true); } if (itemID == EnhanceMgr.Instance.GetSelected()) { imgHighlight.SetActive(true); levelTxtColorSetter.SetColor("brown_dark"); } else { imgHighlight.SetActive(false); levelTxtColorSetter.SetColor("brown_light"); } } public override void RefreshCellView() { SetData(itemID); } public void OnBtnSelect() { EnhanceMgr.Instance.SetSelected(itemID); } public void OnBtnGoDungeon() { if (BattleMgr.Instance.CurrentBattleType != BattleMgr.BattleType.Stage) { GameUIMgr.SOpenToast(LocalizationText.GetText("donot_changedg")); } else if (BattleMgr.Instance.doNotInterupt) { GameUIMgr.SOpenToast(LocalizationText.GetText("donot_interupt")); } else if (!EnhanceMgr.Instance.GetAutoReroll()) { DungeonMgr.Instance.OpenPopupPreset(trainDgData); SoundMgr.Instance.PlaySfx(SoundName.BtnPress); } } }