| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 | using System.Collections.Generic;using System.Linq;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;using GameLogic.Hero;using UnityEngine;using UnityEngine.UI;using Utility;namespace Fort23.Mono{    [UIBinding(prefab = "GongFaUpgradePanel")]    public partial class GongFaUpgradePanel : UIPanel    {        private SkillInfo _skillInfo;        private List<SkillConfig> configs;        List<GongFaUpgradeInfoWidget> _gongFaUpgradeInfoWidgets = new List<GongFaUpgradeInfoWidget>();        private List<SkillPowerupConfig> _skillPowerupConfigs;        private SkillConstant skillConstant;                bool isUpgrade = false;        private void Init()        {            IsShowAppBar = false;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Back.onClick.AddListener(() =>            {                                if (isUpgrade)                {                    isUpgrade = false;                    Btn_UpStar.GetComponent<RectTransform>().sizeDelta = new Vector2(185.0133f, 76.141f);                    Btn_UpStar.GetComponent<RectTransform>().anchoredPosition = new Vector2(-137.8784f,-704.8f);                    Btn_UpGrade.gameObject.SetActive(true);                    return;                }                UIManager.Instance.HideUIUIPanel<GongFaUpgradePanel>();            });            Btn_UpGrade.onClick.AddListener(() =>            {                                          if (_skillInfo.SkillData == null)                {                    return;                }                if (_skillInfo.SkillData.level >= _skillPowerupConfigs.Count)                {                    TipMessagePanel.OpenTipMessagePanel("已经满级!");                    return;                }                if (PlayerManager.Instance.myHero.level.Value < _skillInfo.SkillPowerupConfig.PlayerLevelLimit)                {                    HeroPowerUpConfig heroPowerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(_skillInfo.SkillPowerupConfig.PlayerLevelLimit);                    TipMessagePanel.OpenTipMessagePanel($"需境界达到{LanguageManager.Instance.Text(heroPowerUpConfig.jingjie1) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjie2) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjie3)}");                    return;                }                // if (!PlayerManager.Instance.BagController.DeductItem(_skillInfo.SkillPowerupConfig.LevelupItem[0], _skillInfo.SkillPowerupConfig.LevelupItemNum[0]))                // {                //     TipMessagePanel.OpenTipMessagePanel("道具不足!");                //     return;                // }                _skillInfo.SkillData.level++;                _skillInfo.CustomInt(_skillInfo.SkillData);                CustomInit(_skillInfo);                AccountFileInfo.Instance.SavePlayerData();            });            Btn_UpStar.onClick.AddListener(() =>            {                if (!isUpgrade)                {                    isUpgrade = true;                    Btn_UpStar.GetComponent<RectTransform>().sizeDelta = new Vector2(569.34f, 76.141f);                    Btn_UpStar.GetComponent<RectTransform>().anchoredPosition = new Vector2(54.285f,-704.8f);                    Btn_UpGrade.gameObject.SetActive(false);                    return;                }                if (_skillInfo.SkillData == null)                {                    return;                }                if (_skillInfo.SkillData.star >= _gongFaUpgradeInfoWidgets.Count)                {                    TipMessagePanel.OpenTipMessagePanel("已经满星!");                    return;                }                int count = skillConstant.SkillPromoteNeedPieceNum[_skillInfo.skillConfig.level];                // if (!PlayerManager.Instance.BagController.DeductItem(_skillInfo.skillConfig.PieceID, count))                // {                //     TipMessagePanel.OpenTipMessagePanel("道具不足!");                //     return;                // }                _skillInfo.SkillData.star++;                _skillInfo.CustomInt(_skillInfo.SkillData);                CustomInit(_skillInfo);                AccountFileInfo.Instance.SavePlayerData();            });        }        public async void CustomInit(SkillInfo skillInfo)        {            foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)            {                UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);            }            _gongFaUpgradeInfoWidgets.Clear();            _skillInfo = skillInfo;            _skillPowerupConfigs = ConfigComponent.Instance.GetAll<SkillPowerupConfig>().ToList();            SkillConfig skillConfig = _skillInfo.skillConfig;            Icon_GongFaIcon.icon_name = skillConfig.icon;            Text_Level1.text = "Lv." + _skillInfo.SkillPowerupConfig.ID.ToString();            Text_Level.text = "Lv." + _skillInfo.SkillPowerupConfig.ID.ToString();            skillConstant = ConfigComponent.Instance.Get<SkillConstant>(1);            if (PlayerManager.Instance.myHero.level.Value < _skillInfo.SkillPowerupConfig.PlayerLevelLimit)            {                Btn_UpGrade.gameObject.transform.Gray(true);                HeroPowerUpConfig heroPowerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(_skillInfo.SkillPowerupConfig.PlayerLevelLimit);                UpGradeRoot.SetActive(false);                Text_UpGrade.gameObject.SetActive(true);                Text_UpGrade.text = $"需境界达到{LanguageManager.Instance.Text(heroPowerUpConfig.jingjie1) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjie2) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjie3)}";            }            else            {                Btn_UpGrade.gameObject.transform.RecoverColor();                if (skillConfig.level < 10)                {                    UpGradeRoot.SetActive(true);                    Text_UpGrade.gameObject.SetActive(false);                    ItemConfig upStarItemConfig = ConfigComponent.Instance.Get<ItemConfig>(skillConfig.PieceID);                    Icon_UpstarIcon.icon_name = upStarItemConfig.icon;                    int count = skillConstant.SkillPromoteNeedPieceNum[skillConfig.level];                    Text_UpStarCount.text = $"{count}/{PlayerManager.Instance.BagController.GetItemCount(skillConfig.PieceID)}";                }                else                {                    UpGradeRoot.SetActive(false);                    Text_UpGrade.gameObject.SetActive(true);                    Text_UpGrade.text = $"已满级";                }            }            if (_skillInfo.SkillData.level < _skillPowerupConfigs.Count)            {                UpStarRoot.SetActive(true);                Text_UpStar.gameObject.SetActive(false);                ItemConfig upGradeItemConfig = ConfigComponent.Instance.Get<ItemConfig>(_skillInfo.SkillPowerupConfig.LevelupItem[0]);                Icon_UpstarIcon.icon_name = upGradeItemConfig.icon;                Text_UpGradeItemCount.text = $"{_skillInfo.SkillPowerupConfig.LevelupItemNum[0]}/{PlayerManager.Instance.BagController.GetItemCount(upGradeItemConfig.ID)}";            }            else            {                UpStarRoot.SetActive(false);                Text_UpStar.gameObject.SetActive(true);                Text_UpStar.text = $"已满星";            }            Text_GongFaDesc.text = UtilTools.GetString(LanguageManager.Instance.Text(skillConfig.dec), _skillInfo.effectValue);            Text_GongFaName.text = LanguageManager.Instance.Text(skillConfig.name);            switch (skillConfig.attribute)            {                case 1:                    Icon_Attribute.GetComponent<CustomStateController>().ChangeState(0);                    Text_Attribute.text = "金";                    break;                case 2:                    Icon_Attribute.GetComponent<CustomStateController>().ChangeState(1);                    Text_Attribute.text = "木";                    break;                case 4:                    Icon_Attribute.GetComponent<CustomStateController>().ChangeState(2);                    Text_Attribute.text = "水";                    break;                case 8:                    Icon_Attribute.GetComponent<CustomStateController>().ChangeState(3);                    Text_Attribute.text = "火";                    break;                case 16:                    Icon_Attribute.GetComponent<CustomStateController>().ChangeState(4);                    Text_Attribute.text = "土";                    break;            }                        for (var i = 0; i < StarRoot.Count; i++)            {                MyImage myImage = StarRoot[i] as MyImage;                myImage.gameObject.SetActive(false);            }            int yinstar = skillInfo.skillConfig.level - 5;            for (var i = 0; i < StarRoot.Count; i++)            {                MyImage icon = StarRoot[i] as MyImage;                if (skillInfo.skillConfig.level > 5)                {                                      if (i < yinstar)                    {                        icon.icon_name = "dec_star_2";                        icon.gameObject.SetActive(true);                    }                    else                    {                        icon.icon_name = "dec_star_1";                        icon.gameObject.SetActive(true);                    }                }                else                {                    if (i < skillInfo.skillConfig.level)                    {                        icon.icon_name = "dec_star_1";                        icon.gameObject.SetActive(true);                    }                }            }                     List<SkillConfig> allSkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();            configs = allSkillConfigs.Where(s => s.IDGroup == skillConfig.IDGroup).ToList();            for (var i = 0; i < configs.Count; i++)            {                SkillInfo skillInfo1 = new SkillInfo(configs[i].ID, _skillInfo.SkillPowerupConfig.ID);                GongFaUpgradeInfoWidget gongFaUpgradeInfoWidget = await UIManager.Instance.CreateGComponent<GongFaUpgradeInfoWidget>(null, Content);                gongFaUpgradeInfoWidget.CustomInit(_skillInfo, skillInfo1);                _gongFaUpgradeInfoWidgets.Add(gongFaUpgradeInfoWidget);            }        }        public async static CTask<GongFaUpgradePanel> Open(SkillInfo skillInfo)        {            GongFaUpgradePanel gongFaUpgradePanel = await UIManager.Instance.LoadAndOpenPanel<GongFaUpgradePanel>(null);            gongFaUpgradePanel.CustomInit(skillInfo);            return gongFaUpgradePanel;        }        public override void Close()        {            foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)            {                UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);            }            _gongFaUpgradeInfoWidgets.Clear();            isUpgrade = false;            base.Close();        }    }}
 |