using FGUI.ZM_Common_01; using UnityEngine; using FairyGUI; using System.Collections.Generic; using FGUI.LG_albums; using FGUI.LG_Common; using SGModule.DataStorage; using DG.Tweening; using SGModule.Common.Extensions; using System.Linq; using SGModule.NetKit; namespace BallKingdomCrush { public class AlbumDetailUI : BaseUI { private AlbumDetailUICtrl ctrl; private AlbumDetailModel model; private FGUI.LG_albums.com_albumsDetail ui; public AlbumDetailUI(AlbumDetailUICtrl ctrl) : base(ctrl) { uiName = UIConst.AlbumDetailUI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "LG_albums"; uiInfo.assetName = "com_albumsDetail"; uiInfo.layerType = UILayerType.Popup; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = true; } #region 生命周期 protected override void OnInit() { //model = ModuleManager.Instance.GetModel(ModelConst.AlbumDetailModel) as AlbumDetailModel; } protected override void OnClose() { if (loader != null && !loader.isDisposed && loader.texture != null) { loader.texture.Dispose(); loader.texture = null; } loader = null; if (new_index != -1) { GameDispatcher.Instance.Dispatch(GameMsg.UnlockAlbums, index); } } protected override void OnBind() { ui = baseUI as FGUI.LG_albums.com_albumsDetail; } private List LevelData; private int new_index = -1; private int index; private GLoader loader = new GLoader(); protected override void OnOpenBefore(object args) { index = (int)args; Debug.Log(index); ui.btn_close.SetClick(() => { CtrlCloseUI(); }); LevelData = ConfigSystem.GetLevelUnlockConfig(); // ui.list_.SetVirtual(); // ui.list_.itemRenderer = RendererList; // ui.list_.numItems = GameHelper.GetLevel() - 1; // ui.list_.ScrollToView(new_index); RendererList(); } protected override void OnOpen(object args) { } protected override void OnHide() { } protected override void OnDisplay(object args) { } #endregion #region 消息 protected override void AddListener() { GameDispatcher.Instance.AddListener(GameMsg.BuyVip, refrsh); } protected override void RemoveListener() { GameDispatcher.Instance.RemoveListener(GameMsg.BuyVip, refrsh); } #endregion //初始化页面逻辑 private void refrsh(object a = null) { DOVirtual.DelayedCall(0.5f, () => { // ui.list_.numItems = GameHelper.GetLevel() - 1; RendererList(); }); } // void RendererList(int index, GObject obj) void RendererList() { item_albumsDetails item = (item_albumsDetails)ui.com_item; loader = item.com_loader.GetChild("loader") as GLoader; // if (GameHelper.GetVipPrivilege(Subscription.VipLevel.As())) // { // (item.btn_vip as btn_claim_2).have_vip.selectedIndex = 1; // } // if (GameHelper.GetVipPrivilege(Subscription.SLVLevel.As())) // { // (item.btn_watch as btn_claim_1).have_vip.selectedIndex = 1; // } var downloadCoinNum = ConfigSystem.GetCommonConf().CoinsDownload; var btn_down_coin = (FGUI.LG_Common.btn_unlock)item.btn_download_coin; btn_down_coin.title = downloadCoinNum.As(); btn_down_coin.down_load.selectedIndex = GameHelper.GetVipLevel() >= 1 ? 0 : 1; if (GameHelper.GetVipLevel() > 0) { (item.btn_download as FGUI.LG_Common.btn_claim).have_vip.selectedIndex = 1; item.is_vip.selectedIndex = 1; } else { item.is_vip.selectedIndex = 0; } if (index < GameHelper.GetCommonModel().MultiModal - 1) { TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, null, "LevelAlbums/", FolderNames.AlbumName); item.btn_download.SetClick(() => { if (GameHelper.GetVipLevel() > 0) { TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); } else { GameHelper.ShowVideoAd("DownloadImage", isSuccess => { if (isSuccess) { TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); } }); } }); btn_down_coin.SetClick(() => { if (GameHelper.Get101() >= downloadCoinNum) { DataMgr.Coin.Value -= downloadCoinNum; GameDispatcher.Instance.Dispatch(GameMsg.Update101); TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); TrackKit.SendEvent(ADEventTrack.Coinsbuy, ADEventTrack.Property.download); } else { GameHelper.ShowTips("no_enough_gold", true); uiCtrlDispatcher.Dispatch(UICtrlMsg.BuygoldUI_Open); } }); } else { Levelunlock levelunlock_ = DataMgr.LevelUnlockListNew.Value.FirstOrDefault(x => x.level_ == index + 1); string file_name = ""; if (levelunlock_ != null) { if (levelunlock_.type == 0) { if (levelunlock_.config_index >= ConfigSystem.GetFreeImageConfig().Count) levelunlock_.config_index = ConfigSystem.GetFreeImageConfig().Count - 1; FreeImageLibrary _leveldata = ConfigSystem.GetFreeImageConfig()[levelunlock_.config_index]; TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, _leveldata.Name, null, "LevelAlbums/", FolderNames.AlbumName); file_name = _leveldata.Name; } else if (levelunlock_.type == 1) { if (levelunlock_.config_index >= ConfigSystem.GetADImageConfig().Count) levelunlock_.config_index = ConfigSystem.GetADImageConfig().Count - 1; ADImageLibrary _leveldata = ConfigSystem.GetADImageConfig()[levelunlock_.config_index]; TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, _leveldata.Name, null, "LevelAlbums/", FolderNames.AlbumName); file_name = _leveldata.Name; } else if (levelunlock_.type == 2) { if (levelunlock_.config_index >= ConfigSystem.GetSpecialImageConfig().Count) levelunlock_.config_index = ConfigSystem.GetSpecialImageConfig().Count - 1; SpecialImageLibrary _leveldata = ConfigSystem.GetSpecialImageConfig()[levelunlock_.config_index]; TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, _leveldata.Name, null, "LevelAlbums/", FolderNames.AlbumName); file_name = _leveldata.Name; } else if (levelunlock_.type == 3) { if (levelunlock_.config_index >= ConfigSystem.GetVIPImageConfig().Count) levelunlock_.config_index = ConfigSystem.GetVIPImageConfig().Count - 1; VIPImageLibrary _leveldata = ConfigSystem.GetVIPImageConfig()[levelunlock_.config_index]; TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, _leveldata.Name, null, "LevelAlbums/", FolderNames.AlbumName); file_name = _leveldata.Name; } item.btn_download.SetClick(() => { if (GameHelper.GetVipLevel() > 0) { TextureHelper.SaveImageToAlbum(file_name, FolderNames.AlbumName, CtrlCloseUI); } else { GameHelper.ShowVideoAd("DownloadImage", isSuccess => { if (isSuccess) { TextureHelper.SaveImageToAlbum(file_name, FolderNames.AlbumName, CtrlCloseUI); } }); } }); btn_down_coin.SetClick(() => { if (GameHelper.Get101() >= downloadCoinNum) { DataMgr.Coin.Value -= downloadCoinNum; GameDispatcher.Instance.Dispatch(GameMsg.Update101); TextureHelper.SaveImageToAlbum(file_name, FolderNames.AlbumName, CtrlCloseUI); TrackKit.SendEvent(ADEventTrack.Coinsbuy, ADEventTrack.Property.download); } else { GameHelper.ShowTips("no_enough_gold", true); uiCtrlDispatcher.Dispatch(UICtrlMsg.BuygoldUI_Open); } }); } else { TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, null, "LevelAlbums/", FolderNames.AlbumName); item.btn_download.SetClick(() => { if (GameHelper.GetVipLevel() > 0) { TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); } else { GameHelper.ShowVideoAd("DownloadImage", isSuccess => { if (isSuccess) { TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); } }); } }); btn_down_coin.SetClick(() => { if (GameHelper.Get101() >= downloadCoinNum) { DataMgr.Coin.Value -= downloadCoinNum; GameDispatcher.Instance.Dispatch(GameMsg.Update101); TextureHelper.SaveImageToAlbum(LevelData[index].Name, FolderNames.AlbumName, CtrlCloseUI); TrackKit.SendEvent(ADEventTrack.Coinsbuy, ADEventTrack.Property.download); } else { GameHelper.ShowTips("no_enough_gold", true); uiCtrlDispatcher.Dispatch(UICtrlMsg.BuygoldUI_Open); } }); } } // if (LevelData[index].LeveType == 0) // { // TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, null, "LevelAlbums/"); // item.type.selectedIndex = 0; // } // else if (LevelData[index].LeveType == 1) //特殊关 // { // if (DataMgr.LevelUnlockList.Value.Contains(index)) // { // TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, null, "LevelAlbums/"); // item.type.selectedIndex = 0; // } // else // { // item.type.selectedIndex = 1; // item.btn_pay.title = LevelData[index].PassCoins.ToString(); // TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, (s) => // { // TextureHelper.SetImageBlur(item.com_loader.GetChild("loader") as GLoader); // }, "LevelAlbums/"); // item.btn_pay.SetClick(() => // { // if (DataMgr.Coin.Value >= LevelData[index].PassCoins) // { // new_index = index; // DataMgr.Coin.Value -= LevelData[index].PassCoins; // GameDispatcher.Instance.Dispatch(GameMsg.Gold_refresh); // DataMgr.LevelUnlockList.Value.Add(index); // GameHelper.ShowTips("Unlocked!"); // DataMgr.LevelUnlockList.Save(); // GameDispatcher.Instance.Dispatch(GameMsg.UnlockLevelsuccess); // CtrlCloseUI(); // } // else // { // GameHelper.ShowTips("Not enough golds"); // } // }); // item.btn_watch.SetClick(() => // { // if (GameHelper.GetVipPrivilege(Subscription.SLVLevel.As())) // { // new_index = index; // DataMgr.LevelUnlockList.Value.Add(index); // GameHelper.ShowTips("Unlocked!"); // DataMgr.LevelUnlockList.Save(); // GameDispatcher.Instance.Dispatch(GameMsg.UnlockLevelsuccess); // CtrlCloseUI(); // } // else // { // GameHelper.ShowVideoAd("UnlockSpecialLevel", isSuccess => // { // if (isSuccess) // { // new_index = index; // DataMgr.LevelUnlockList.Value.Add(index); // GameHelper.ShowTips("Unlocked!"); // DataMgr.LevelUnlockList.Save(); // GameDispatcher.Instance.Dispatch(GameMsg.UnlockLevelsuccess); // CtrlCloseUI(); // } // }); // } // }); // } // } // else if (LevelData[index].LeveType == 2)//vip关 // { // if (DataMgr.LevelUnlockList.Value.Contains(index)) // { // TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, null, "LevelAlbums/"); // item.type.selectedIndex = 0; // } // else // { // item.type.selectedIndex = 2; // item.btn_pay.title = LevelData[index].PassCoins.ToString(); // TextureHelper.SetImgLoader(item.com_loader.GetChild("loader") as GLoader, LevelData[index].Name, (s) => // { // TextureHelper.SetImageBlur(item.com_loader.GetChild("loader") as GLoader); // }, "LevelAlbums/"); // item.btn_pay.SetClick(() => // { // if (DataMgr.Coin.Value >= LevelData[index].PassCoins) // { // new_index = index; // DataMgr.Coin.Value -= LevelData[index].PassCoins; // GameDispatcher.Instance.Dispatch(GameMsg.Gold_refresh); // DataMgr.LevelUnlockList.Value.Add(index); // GameHelper.ShowTips("Unlocked!"); // DataMgr.LevelUnlockList.Save(); // GameDispatcher.Instance.Dispatch(GameMsg.UnlockLevelsuccess); // CtrlCloseUI(); // } // else // { // GameHelper.ShowTips("Not enough golds"); // } // }); // item.btn_vip.SetClick(() => // { // if (GameHelper.GetVipPrivilege(Subscription.VipLevel.As())) // { // new_index = index; // DataMgr.LevelUnlockList.Value.Add(index); // GameHelper.ShowTips("Unlocked!"); // DataMgr.LevelUnlockList.Save(); // GameDispatcher.Instance.Dispatch(GameMsg.UnlockLevelsuccess); // CtrlCloseUI(); // } // else // { // uiCtrlDispatcher.Dispatch(UICtrlMsg.VipClubViewUI_Open, 2); // } // }); // } // } // if (item.type.selectedIndex == 0) // { // if (GameHelper.GetVipPrivilege(Subscription.FreeDownImage.As())) // { // (item.btn_download as FGUI.LG_Common.btn_claim).have_vip.selectedIndex = 1; // item.is_vip.selectedIndex = 1; // } // else // { // item.is_vip.selectedIndex = 0; // } // } // else if (item.type.selectedIndex == 1) // { // if (GameHelper.GetVipPrivilege(Subscription.SLVLevel.As())) // { // item.is_vip.selectedIndex = 1; // } // else item.is_vip.selectedIndex = 0; // } // else if (item.type.selectedIndex == 2) // { // if (GameHelper.GetVipPrivilege(Subscription.VipLevel.As())) // { // item.is_vip.selectedIndex = 1; // } // else item.is_vip.selectedIndex = 0; // } } } }