123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- 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();
- }
- protected override void OnHide()
- {
- base.OnHide();
- ReleaseMainUIPreview();
- }
- 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()
- {
- // 小月卡
- float endTime = GameGlobal.myNumericComponent.GetAsLong(NumericType.MonthCardGoldEndTime);
- if (endTime > TimeHelper.ServerNow())
- {
- 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()
- {
- 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();
- }
- }
- }
|