| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | 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<ItemInfo> itemInfos = new List<ItemInfo>();                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(10365, _towerInfoConfig.ID);            ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(_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()                if (towerLevelData != null && towerLevelData.finish)                {                    Csc.ChangeState(0);                    //可以领取奖励                    if (towerLevelData != null && !towerLevelData.reward)                    {                        Icon_Item.transform.parent.transform.RecoverColor();                        fx_ui_jiangli_loop.gameObject.SetActive(true);                        fx_ui_jiangli_loop.Play();                        GetWard.transform.RecoverColor();                                          }                    //领了奖励                    else if (towerLevelData != null && towerLevelData.reward)                    {                        Icon_Item.transform.parent.transform.RecoverColor();                        fx_ui_jiangli_loop.gameObject.SetActive(false);                        GetWard.transform.Gray();                    }                    //通关了但是没有完成时间                    else                    {                        Icon_Item.transform.parent.transform.Gray();                        fx_ui_jiangli_loop.gameObject.SetActive(false);                        GetWard.transform.RecoverColor();                    }                }                else                {                    Csc.ChangeState(1);                    GetWard.transform.RecoverColor();                    fx_ui_jiangli_loop.gameObject.SetActive(false);                }            }            else            {                isLock = false;                Csc.ChangeState(2);                GetWard.transform.RecoverColor();                fx_ui_jiangli_loop.gameObject.SetActive(false);            }        }    }}
 |