using System.Collections.Generic; using System.Linq; using Core.Language; using Excel2Json; using Fort23.UTool; using GameLogic.Bag; namespace Fort23.Mono { [UIBinding(prefab = "TowerLevelWidget")] public partial class TowerLevelWidget : ItemWidgetBasic { public TowerInfoConfig _towerInfoConfig; public AccountFileInfo.TowerData towerData; public AccountFileInfo.TowerLevelData towerLevelData; public AccountFileInfo.TowerLevelData lastTowerLevelData; public bool isLock; private void Init() { } public override void AddEvent() { } public override void DelEvent() { } public override void AddButtonEvent() { base.AddButtonEvent(); Btn_GetWard.onClick.AddListener(async () => { if (towerLevelData == null || towerLevelData.reward) { return; } List itemInfos = new List(); ItemInfo itemInfo = new ItemInfo(_towerInfoConfig.reward[0], 1); itemInfos.Add(itemInfo); towerLevelData.reward = true; AccountFileInfo.Instance.SavePlayerData(); RewardsPanel rewardsPanel = await RewardsPanel.OpenPanel(itemInfos); await rewardsPanel.UIClosed(); CustomInit(towerData, _towerInfoConfig); }); } public async void CustomInit(AccountFileInfo.TowerData towerData, TowerInfoConfig towerInfoConfig) { this.towerData = towerData; this._towerInfoConfig = towerInfoConfig; towerLevelData = towerData.towerLevelDatas.FirstOrDefault(t => t.id == _towerInfoConfig.ID); lastTowerLevelData = towerData.towerLevelDatas.FirstOrDefault(t => t.id == _towerInfoConfig.ID - 1); Text_Name.text = LanguageManager.Instance.Text(_towerInfoConfig.name); ItemConfig itemConfig = ConfigComponent.Instance.Get(_towerInfoConfig.reward[0]); Icon_Item.icon_name = itemConfig.icon; Text_Num.text = "1"; GetWard.transform.RecoverColor(); //上一层已经通关 if ((lastTowerLevelData != null && lastTowerLevelData.finish) || _towerInfoConfig.level == 1) { isLock = true; if (towerLevelData != null && towerLevelData.finish) { Csc.ChangeState(2); DianianCsc.ChangeState(0); //可以领取奖励 if (towerLevelData != null && !towerLevelData.reward) { Icon_Item.transform.parent.transform.RecoverColor(); awardCsc.ChangeState(1); Check.SetActive(false); } //领了奖励 else if (towerLevelData != null && towerLevelData.reward) { Icon_Item.transform.parent.transform.RecoverColor(); awardCsc.ChangeState(0); Check.SetActive(true); GetWard.transform.Gray(); } //通关了但是没有完成时间 else { Icon_Item.transform.parent.transform.Gray(); awardCsc.ChangeState(0); Check.SetActive(false); } } else { Csc.ChangeState(1); awardCsc.ChangeState(0); DianianCsc.ChangeState(1); } } else { isLock = false; awardCsc.ChangeState(0); Csc.ChangeState(0); DianianCsc.ChangeState(2); } } } }