| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using Core.Audio;using Excel2Json;using Fort23.Core;using Fort23.UTool;using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;using Utility;namespace Fort23.Mono{    [UIBinding(prefab = "DaoYouInvitePanel")]    public partial class DaoYouInvitePanel : UIPanel    {        private DaoYouWidget addDaoYouWidget;        List<DaoYouWidget> _daoYouWidgets = new List<DaoYouWidget>();        List<DaoYouaaFfixWidget> _daoYouaaFfixWidgets = new List<DaoYouaaFfixWidget>();        private void Init()        {            isAddStack = true;        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });            Btn_Ok.onClick.AddListener(() =>            {                if (addDaoYouWidget == null)                {                    return;                }                if (!PlayerManager.Instance.myHero.heroData.ImmortalBond.Contains(addDaoYouWidget._daoYouData.id))                {                    AudioManager.Instance.PlayAudio("ui_shangzhengdaolv.wav");                    PlayerManager.Instance.myHero.heroData.ImmortalBond.Add(addDaoYouWidget._daoYouData.id);                    PlayerManager.Instance.myHero.ComputeHeroInfo();                    AccountFileInfo.Instance.SavePlayerData();                    addDaoYouWidget = null;                    UIManager.Instance.HideUIUIPanel(this);                                    }            });        }        public async override CTask<bool> AsyncInit(object[] uiData)        {            int count = 0;            //可以被邀请的道侣            foreach (var playerDataDaoYouData in AccountFileInfo.Instance.playerData.daoYouDatas)            {                if (!PlayerManager.Instance.myHero.heroData.ImmortalBond.Contains(playerDataDaoYouData.id))                {                    count++;                    DaoYouWidget daoYouWidget = await UIManager.Instance.CreateGComponent<DaoYouWidget>(null, Content);                    daoYouWidget.CustomInit(playerDataDaoYouData.id);                    daoYouWidget.OnClick = OnClick2;                    _daoYouWidgets.Add(daoYouWidget);                }            }            Tex_Tips1.gameObject.SetActive(count <= 0);            Btn_Ok.transform.Gray();            return await base.AsyncInit(uiData);        }        private async void OnClick2(ItemWidgetBasic obj)        {            DaoYouWidget daoYouWidget = obj as DaoYouWidget;            if (addDaoYouWidget == daoYouWidget)                return;            addDaoYouWidget = daoYouWidget;            Btn_Ok.transform.RecoverColor();            foreach (var daoYouaaFfixWidget in _daoYouaaFfixWidgets)            {                UIManager.Instance.DormancyGComponent(daoYouaaFfixWidget);            }            _daoYouaaFfixWidgets.Clear();            var _daoyouModelConfig = ConfigComponent.Instance.Get<DaoyouModelConfig>(addDaoYouWidget._daoYouData.id);            if (_daoyouModelConfig.daolvSkillID != null)            {                foreach (var i in _daoyouModelConfig.daolvSkillID)                {                    DaoYouaaFfixWidget daoYouaaFfixWidge = await UIManager.Instance.CreateGComponent<DaoYouaaFfixWidget>(null, JiachengContent);                    daoYouaaFfixWidge.CustomInit(i);                    _daoYouaaFfixWidgets.Add(daoYouaaFfixWidge);                }            }        }        public async static CTask OpenPanel()        {            await UIManager.Instance.LoadAndOpenPanel<DaoYouInvitePanel>(null, UILayer.Top,isShowBG:true);        }        public async override CTask Close()        {            foreach (var daoYouWidget in _daoYouWidgets)            {                UIManager.Instance.DormancyGComponent(daoYouWidget);            }            _daoYouWidgets.Clear();            foreach (var daoYouaaFfixWidget in _daoYouaaFfixWidgets)            {                UIManager.Instance.DormancyGComponent(daoYouaaFfixWidget);            }            _daoYouaaFfixWidgets.Clear();            addDaoYouWidget = null;            await base.Close();        }    }}
 |