| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 | using System.Collections;using UnityEngine;using UI.RoleInfo;using UI.Main;using ET;using FairyGUI;using System.Threading.Tasks;using System.Collections.Generic;namespace GFGGame{    public class MainBgChooseView : BaseWindow    {        private UI_MainBgChooseUI _ui;        public override void Dispose()        {            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_MainBgChooseUI.PACKAGE_NAME;            _ui = UI_MainBgChooseUI.Create();            this.viewCom = _ui.target;            isfullScreen = true;            isReturnView = true;            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_grsz");            _ui.m_bgList.itemRenderer = BgListItemRenderer;            _ui.m_bgList.onClickItem.Add(OnClickBgListItem);            _ui.m_btnBack.onClick.Add(OnClickBtnBack);            _ui.m_btnChange.target.onClick.Add(OnClickBtnChange);            _ui.m_bgList.numItems = MainBackgroundCfgArray.Instance.dataArray.Length;            _ui.m_btnRule.onClick.Add(OnBtnRuleClick);            _ui.m_btnSaveDressUpBg.target.onClick.Add(OnBtnSaveDressUpBgClick);            _ui.m_btnGoShop.onClick.Add(OnBtnGoShopClick);            PicAdaption();        }        protected override void OnShown()        {            base.OnShown();            SetDefaultSelectedBg();            InitMainUIPreview();            UpdateSaveDressUpBgBtn();            Timers.inst.AddUpdate(CheckGuide);        }        protected override void OnHide()        {            base.OnHide();            ReleaseMainUIPreview();            Timers.inst.Remove(CheckGuide);        }        private ValueBarController _valueBarController;        /// <summary>        /// 同步主界面信息        /// </summary>        private void InitMainUIPreview()        {            UI_MainUI mainUI = UI_MainUI.Proxy(_ui.m_mainUIShow);            _valueBarController = new ValueBarController(mainUI.m_valueBar);            _valueBarController.OnShown();            mainUI.m_type.SetSelectedIndex(1);            mainUI.m_headBar.m_txtLvl.text = "" + GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);            RoleInfoManager.Instance.UpdateHead(mainUI.m_headBar.m_comHead, RoleDataManager.headId,    RoleDataManager.headBorderId);            mainUI.m_headBar.m_txtName.text = RoleDataManager.roleName;            mainUI.m_btnXiuFang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(XiuFangView).Name, false);            mainUI.m_btnHaiZhiShi.m_loaLockIcons.visible = false;            mainUI.m_btnHuanZhuang.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DressUpView).Name, false);            mainUI.m_btnCiPai.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(CardDetailView).Name, false);            mainUI.m_btnZhaiXing.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LuckyBoxView).Name, false);            mainUI.m_btnMain.m_loaLockIcons.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoryChapterListView).Name, false);            mainUI.m_btnGongGao.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(NoticeView).Name, false);            mainUI.m_btnYouJian.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MailView).Name, false);            mainUI.m_list.GetChild("btnHaoYou").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);            mainUI.m_list.GetChild("btnLeague").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(LeagueView).Name, false);            mainUI.m_list.GetChild("btnStore").visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StoreView).Name, false);            mainUI.m_list.GetChild("btnTuJian").visible =                FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldGuideView).Name, false);            mainUI.m_list.ResizeToFit();            UI_MainUI.ProxyEnd();        }        private void ReleaseMainUIPreview()        {            _valueBarController.OnHide();            _valueBarController.Dispose();        }        private void OnClickBtnBack()        {            Hide();        }        private void BgListItemRenderer(int index, GObject item)        {            UI_bgItem bgItem = UI_bgItem.Proxy(item);            bgItem.m_bgImg.url = ResPathUtil.GetBgImgPath(MainBackgroundCfgArray.Instance.dataArray[index].res);            bgItem.m_name.text = MainBackgroundCfgArray.Instance.dataArray[index].name;            UI_bgItem.ProxyEnd();            item.data = MainBackgroundCfgArray.Instance.dataArray[index].id;        }        private void OnClickBgListItem(EventContext context)        {            GObject listItem = context.data as GObject;            string res = MainBackgroundCfgArray.Instance.GetCfg((int)listItem.data).res;            ChangeBg(res);        }        private void OnClickBtnChange()        {            PromptController.Instance.ShowFloatTextPrompt("主界面背景已更换");            RoleDataManager.SaveMainBgID((int)_ui.m_bgList.GetChildAt(_ui.m_bgList.selectedIndex).data);            Hide();        }        private void ChangeBg(string res)        {            UI_MainUI mainUI = UI_MainUI.Proxy(_ui.m_mainUIShow);            mainUI.m_loaBg.url = ResPathUtil.GetBgImgPath(res);            UI_MainUI.ProxyEnd();        }        /// <summary>        /// 预览图适配        /// </summary>        /// <returns></returns>        private async Task PicAdaption()        {            _ui.m_mainUIShow.visible = false;            _ui.m_frame.visible = false;            await Task.Delay(5);            float orginHeight = _ui.m_frame.height;            float curHeight = _ui.m_heightAdaptHelper.size.y;            if (orginHeight != curHeight)            {                float rate = curHeight * 1.0f / orginHeight;                _ui.m_frame.scale *= rate;                _ui.m_mainUIShow.scale *= rate;                // 预览图居中                _ui.m_mainUIShow.y = _ui.m_frame.y +                    ((_ui.m_frame.height * _ui.m_frame.scale.y) - (_ui.m_mainUIShow.height * _ui.m_mainUIShow.scale.y)) / 2;            }            _ui.m_mainUIShow.visible = true;            _ui.m_frame.visible = true;        }        private void OnBtnRuleClick()        {            ViewManager.Show<MainBgChooseTipsView>();        }        private void SetDefaultSelectedBg()        {            _ui.m_bgList.selectedIndex = 0;            string res = MainBackgroundCfgArray.Instance.dataArray[0].res;            ChangeBg(res);        }        private void OnBtnSaveDressUpBgClick()        {            bool canChange =                GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardGoldEndTime) > TimeHelper.ServerNow()                || GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardBlackGoldEndTime) > TimeHelper.ServerNow();            if (canChange)            {                if (RoleDataManager.saveDressUpBgToMainBg == 0)                {                    AlertSystem.Show("特权开启后换装背景将用于主界面,是否前往更换?")                        .SetLeftButton(true)                        .SetRightButton(true, "确认", (object data) =>                        {                            RoleInfoSProxy.ReqSaveChangeGearSwitch(1);                            ViewManager.Show<DressUpView>(null, true);                            ViewManager.DeleteViewStackCountDown("MainUIView");                        });                }                else                {                    AlertSystem.Show("特权关闭后仅可使用三个默认背景,是否确认关闭?")                    .SetLeftButton(true)                    .SetRightButton(true, "确认", (object data) =>                    {                        UpdateSaveDressUpBgToggleState(0);                        RoleDataManager.SaveMainBgID(MainBackgroundCfgArray.Instance.dataArray[0].id);                    });                }            }            else            {                PromptController.Instance.ShowFloatTextPrompt("该功能尚未开启~");            }        }        private void OnBtnGoShopClick()        {            GuideSimulationDataManager.Instance.GuideMonthlyJumpType = 2;            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_MONTH_CARD, ConstStoreSubId.STORE_MONTH_GOLD_CARD });        }        private async Task UpdateSaveDressUpBgToggleState(int isOn)        {            await RoleInfoSProxy.ReqSaveChangeGearSwitch(isOn);            UpdateSaveDressUpBgBtn();        }        private void UpdateSaveDressUpBgBtn()        {            UI_ButtonToggle2 buttonToggle2 = UI_ButtonToggle2.Proxy(_ui.m_btnSaveDressUpBg.target);            buttonToggle2.m_type.SetSelectedIndex(RoleDataManager.saveDressUpBgToMainBg);            UI_ButtonToggle2.ProxyEnd();        }        private void CheckGuide(object param)        {            if (GuideDataManager.IsGuideFinish(ConstGuideId.SHEZHI_ZHUJIEMBG) <= 0)            {                UpdateCheckGuide(null);            }            else            {                Timers.inst.Remove(CheckGuide);            }        }        protected void UpdateCheckGuide(object param)        {            if (!ViewManager.CheckIsTopView(this.viewCom)) return;            if (GuideSimulationDataManager.Instance.GuideMonthlyJumpType == 1)            {                GuideController.TryGuide(_ui.m_btnSaveDressUpBg.target, ConstGuideId.SHEZHI_ZHUJIEMBG, 4, "开启背景更换特权");            }            else if (GuideSimulationDataManager.Instance.GuideMonthlyJumpType == 2)            {                GuideController.TryGuide(_ui.m_btnSaveDressUpBg.target, ConstGuideId.SHEZHI_ZHUJIEMBG, 2, "开启背景更换特权");            }        }        protected override void TryCompleteGuide()        {            if (GuideSimulationDataManager.Instance.GuideMonthlyJumpType == 1)            {                GuideController.TryCompleteGuideIndex(ConstGuideId.SHEZHI_ZHUJIEMBG, 4);                GuideController.TryCompleteGuide(ConstGuideId.SHEZHI_ZHUJIEMBG, 4);            }            else if (GuideSimulationDataManager.Instance.GuideMonthlyJumpType == 2)            {                GuideController.TryCompleteGuideIndex(ConstGuideId.SHEZHI_ZHUJIEMBG, 2);                GuideController.TryCompleteGuide(ConstGuideId.SHEZHI_ZHUJIEMBG, 2);            }        }    }}
 |