using System; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class MissionHeroRoadCell : CellView { [SerializeField] Text nameText; [SerializeField] Image processImg; [SerializeField] Text processText; [SerializeField] ItemCell[] itemCells; [SerializeField] Transform[] gotRects; [SerializeField] Button getBtn; [SerializeField] Button gotoBtn; [SerializeField] Transform gotRect; [SerializeField] Transform mask; public void Display(int id) { var config = SuccessConfig.Get(id); nameText.text = Language.Get("Achievement1", config.NeedCnt / 100, config.NeedCnt % 100); var targetLevel = MainLevelConfig.GetToTargetLevelIndex(config.NeedCnt) + 1; var curLevel = MainLevelConfig.GetToTargetLevelIndex(AchievementManager.Instance.GetAchievementProgress(config.Type)) + 1; processImg.fillAmount = (float)curLevel / targetLevel; processText.text = Math.Min(targetLevel, curLevel) + "/" + targetLevel; var state = AchievementManager.Instance.GetAchievementState(id); for (int i = 0; i < itemCells.Length; i++) { if (i < config.AwardItemList.Length) { itemCells[i].SetActive(true); int itemID = config.AwardItemList[i][0]; itemCells[i].Init(new ItemCellModel(itemID, false, config.AwardItemList[i][1])); itemCells[i].button.AddListener(() => { ItemTipUtility.Show(itemID); }); gotRects[i].SetActive(state == 2); } else { itemCells[i].SetActive(false); } } getBtn.SetActive(state == 0); gotoBtn.SetActive(state == 1); gotRect.SetActive(state == 2); mask.SetActive(state == 2); getBtn.AddListener(() => { AchievementManager.Instance.SendGetAward(id); }); gotoBtn.AddListener(() => { RightFuncInHome.RemoveListenWindow(); UIManager.Instance.CloseWindow(); NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.challengeBossGuides[0]); }); } }