123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789 |
- using System.Collections.Generic;
- using ET;
- using FairyGUI;
- using UI.Poem;
- using UnityEngine;
- namespace GFGGame
- {
- class TabType
- {
- /// <summary>
- /// 首页
- /// </summary>
- public static int RECOVER = 0;
- /// <summary>
- /// 投稿
- /// </summary>
- public static int JOIN = 1;
- /// <summary>
- /// 收藏
- /// </summary>
- public static int FAVORITES = 2;
- }
- class RecommendType
- {
- /// <summary>
- /// 推荐
- /// </summary>
- public static int RECOMMEND = 0;
- /// <summary>
- /// 好友
- /// </summary>
- public static int FRIEND = 1;
- /// <summary>
- /// 排行榜
- /// </summary>
- public static int RANK = 2;
- }
- class FavoritesType
- {
- /// <summary>
- /// 我的收藏
- /// </summary>
- public static int FAVORITE = 0;
- /// <summary>
- /// 我的作品
- /// </summary>
- public static int MY_SELF = 1;
- }
- public class PoemGalleryView : BaseWindow
- {
- private UI_PoemGalleryUI _ui;
- private GList _list;
- private GList _list1;
- private GList _scrollList;
- private UI_ComScroll _comScroll;
- private ScrollPane _curScrollPane;
- private GComponent _curFooter;
- // private List<PoemGalleryData> _galleryDatas = new List<PoemGalleryData>();
- private List<long> _galleryDatas = new List<long>();
- private int _sortType = 0;//由GallerySortType定义
- private int _lastGalleryDatasCount = 0;
- private int _tabIndex = 0;//当前选中大页签下标,首页0投稿1收藏2
- private int _subtabIndex = 0;//当前选中小页签下标,推荐0好友1排行榜2;我的收藏0我的作品1
- private bool isPullDown = false;//是否下拉刷新中,刷新中再次下拉不会重新请求更新数据
- private bool isPullUp = false;//是否上拉刷新中,刷新中再次下拉不会重新请求更新数据
- public override void Dispose()
- {
- if (_ui != null)
- {
- _ui.Dispose();
- _ui = null;
- }
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_PoemGalleryUI.PACKAGE_NAME;
- _ui = UI_PoemGalleryUI.Create();
- this.viewCom = _ui.target;
- isfullScreen = true;
- isReturnView = true;
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hc_bj_1");
- _ui.m_comNormal.m_comBoBox.items = new string[] { "推荐", "最新" };
- _ui.m_comNormal.m_comBoBox.icons = new string[] { "ui://Poem/hl_pxpx", "ui://Poem/hl_zxzx" };
- _ui.m_comNormal.m_comBoBox.onChanged.Add(OnNormalTabChange);
- _ui.m_btnback.onClick.Add(OnBtnBackClick);
- _ui.m_btnRecover.onClick.Add(OnBtnRecoverClick);
- _ui.m_btnJoin.onClick.Add(OnBtnJoinClick);
- _ui.m_btnFavorites.onClick.Add(OnBtnFavoritesClick);
- _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane.onPullDownRelease.Add(SetPullDownParent0);
- _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane.onPullDownRelease.Add(SetPullDownParent1);
- _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane.onPullUpRelease.Add(OnPullUpToRefresh);
- _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane.onPullUpRelease.Add(OnPullUpToRefresh);
- _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane.onScroll.Add(SetScrollCom0);
- _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane.onScroll.Add(SetScrollCom1);
- _ui.m_comNormal.m_comScroll.m_listRecommend.SetVirtual();
- _ui.m_comNormal.m_comScroll.m_listRecommend1.SetVirtual();
- _ui.m_comNormal.m_comScroll.m_listRecommend.itemRenderer = RenderListItem;
- _ui.m_comNormal.m_comScroll.m_listRecommend1.itemRenderer = RenderListItem1;
- _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane.twinsScrollPane = _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane;
- _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane.twinsScrollPane = _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane;
- _ui.m_comFavorites.m_comScroll.m_listRecommend.scrollPane.onPullDownRelease.Add(OnPullDownRelease);
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.scrollPane.onPullDownRelease.Add(OnPullDownRelease);
- _ui.m_comFavorites.m_comScroll.m_listRecommend.scrollPane.onPullUpRelease.Add(OnPullUpToRefresh);
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.scrollPane.onPullUpRelease.Add(OnPullUpToRefresh);
- _ui.m_comFavorites.m_comScroll.m_listRecommend.scrollPane.onScroll.Add(SetScrollCom2);
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.scrollPane.onScroll.Add(SetScrollCom3);
- _ui.m_comFavorites.m_comScroll.m_listRecommend.SetVirtual();
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.SetVirtual();
- _ui.m_comFavorites.m_comScroll.m_listRecommend.itemRenderer = RenderListItem;
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.itemRenderer = RenderListItem1;
- _ui.m_comFavorites.m_comScroll.m_listRecommend.scrollPane.twinsScrollPane = _ui.m_comFavorites.m_comScroll.m_listRecommend1.scrollPane;
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.scrollPane.twinsScrollPane = _ui.m_comFavorites.m_comScroll.m_listRecommend.scrollPane;
- _ui.m_comNormal.m_listRank.itemRenderer = RenderListRankItem;
- // _ui.m_comNormal.m_listRank.SetVirtual();
- _ui.m_comNormal.m_btnShop.onClick.Add(OnBtnShopClick);
- _ui.m_comNormal.m_btnReward.onClick.Add(OnBtnRewardClick);
- _ui.m_comNormal.m_c1.onChanged.Add(OnNormalTabChange);
- _ui.m_comFavorites.m_c1.onChanged.Add(OnFavoritesTabChange);
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- EventAgent.AddEventListener(ConstMessage.GALLERY_DATA_CHANGE, UpdateGalleryList);
- EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH_ONE, UpdateGalleryList);
- EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH_ONE, UpdateGalleryRankList);
- }
- protected override async void OnShown()
- {
- base.OnShown();
- if (this.viewData != null)
- {
- _tabIndex = (int)(this.viewData as object[])[0];
- _subtabIndex = (int)(this.viewData as object[])[1];
- _ui.m_comNormal.m_comBoBox.selectedIndex = (int)(this.viewData as object[])[2];
- UpdateList();
- UpdateGalleryList();
- UpdateGalleryRankList();
- if (_tabIndex == TabType.RECOVER)
- {
- _ui.m_comNormal.m_c1.selectedIndex = _subtabIndex;
- }
- else if (_tabIndex == TabType.FAVORITES)
- {
- _ui.m_comFavorites.m_c1.selectedIndex = _subtabIndex;
- }
- }
- else
- {
- _tabIndex = TabType.RECOVER;
- _subtabIndex = RecommendType.RECOMMEND;
- _ui.m_comNormal.m_comBoBox.selectedIndex = 0;
- _ui.m_comNormal.m_c1.selectedIndex = _subtabIndex;
- _ui.m_comFavorites.m_c1.selectedIndex = _subtabIndex;
- // _comScroll = _ui.m_comNormal.m_comScroll.target;
- // if (_ui.m_comNormal.m_comScroll.m_listRecommend.numItems > 0) _ui.m_comNormal.m_comScroll.m_listRecommend.ScrollToView(0);
- // if (_ui.m_comNormal.m_comScroll.m_listRecommend1.numItems > 0) _ui.m_comNormal.m_comScroll.m_listRecommend1.ScrollToView(0);
- // if (_ui.m_comFavorites.m_comScroll.m_listRecommend.numItems > 0) _ui.m_comFavorites.m_comScroll.m_listRecommend.ScrollToView(0);
- // if (_ui.m_comFavorites.m_comScroll.m_listRecommend1.numItems > 0) _ui.m_comFavorites.m_comScroll.m_listRecommend1.ScrollToView(0);
- _ui.m_comNormal.m_comScroll.m_listRecommend.numItems = 0;
- _ui.m_comNormal.m_comScroll.m_listRecommend1.numItems = 0;
- _ui.m_comFavorites.m_comScroll.m_listRecommend.numItems = 0;
- _ui.m_comFavorites.m_comScroll.m_listRecommend1.numItems = 0;
- _scrollList = _ui.m_comNormal.m_comScroll.m_listRecommend;
- ViewManager.Show<ModalStatusView>();
- UpdateList();
- PullDown();
- OnPullDownRelease();
- }
- _ui.m_c1.selectedIndex = _tabIndex;
- // _ui.m_comNormal.m_comScroll.m_comHeader.target.y = -_ui.m_comNormal.m_comScroll.m_comHeader.target.height;
- // _ui.m_comNormal.m_comScroll.m_comFooter.target.y = _ui.m_comNormal.m_comScroll.target.height;
- // _ui.m_comFavorites.m_comScroll.m_comHeader.target.y = -_ui.m_comFavorites.m_comScroll.m_comHeader.target.height;
- // _ui.m_comFavorites.m_comScroll.m_comFooter.target.y = _ui.m_comFavorites.m_comScroll.target.height;
- _ui.m_comNormal.m_comScroll.m_comHeader.m_grpLoad.visible = true;
- _ui.m_comNormal.m_comScroll.m_comFooter.m_grpLoad.visible = true;
- _ui.m_comFavorites.m_comScroll.m_comHeader.target.visible = false;
- _ui.m_comFavorites.m_comScroll.m_comFooter.m_grpLoad.visible = true;
- UpdateView();
- if (PoemGalleryDataManager.Instance.HasBonus)
- {
- bool result = await PoemGallerySProxy.ReqGetGalleryRankBonus();
- if (result && PoemGalleryDataManager.Instance.MyWorksRanks.Count > 0)
- {
- ViewManager.Show<PoemGalleryRewardGetView>();
- }
- }
- }
- protected override void OnHide()
- {
- base.OnHide();
- ResetPullRelease();
- _ui.m_comNormal.m_comBoBox.selectedIndex = 0;
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- EventAgent.RemoveEventListener(ConstMessage.GALLERY_DATA_CHANGE, UpdateGalleryList);
- EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH_ONE, UpdateGalleryList);
- EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH_ONE, UpdateGalleryRankList);
- }
- private void OnBtnBackClick()
- {
- ViewManager.GoBackFrom(typeof(PoemGalleryView).FullName);
- }
- /// <summary>
- /// 积分商店
- /// </summary>
- private void OnBtnShopClick()
- {
- object[] gobackParamDatas = new object[] { _tabIndex, _subtabIndex, _ui.m_comNormal.m_comBoBox.selectedIndex };
- ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_GALLERY });
- }
- /// <summary>
- /// 排行榜奖励
- /// </summary>
- private void OnBtnRewardClick()
- {
- ViewManager.Show<PoemGalleryRewardView>();
- }
- /********************************************************页签切换*************************************************/
- /// <summary>
- /// 首页
- /// </summary>
- private void OnBtnRecoverClick()
- {
- int lastTabIndex = _tabIndex;
- _tabIndex = _ui.m_c1.selectedIndex;
- _subtabIndex = _ui.m_comNormal.m_c1.selectedIndex;
- if (lastTabIndex == TabType.RECOVER)//当前在推荐页要刷新
- {
- if (_ui.m_comNormal.m_c1.selectedIndex == RecommendType.RECOMMEND)//重新拉取数据
- {
- PullDown();
- OnPullDownRelease();
- }
- else//切页签并重新拉取数据
- {
- _ui.m_comNormal.m_c1.selectedIndex = RecommendType.RECOMMEND;
- }
- }
- else//更新列表
- {
- _ui.m_comNormal.m_c1.selectedIndex = RecommendType.RECOMMEND;
- UpdateList();
- UpdateGalleryList();
- }
- }
- /// <summary>
- /// 投稿
- /// </summary>
- private void OnBtnJoinClick()
- {
- object[] gobackParamDatas = new object[] { _tabIndex, _subtabIndex, _ui.m_comNormal.m_comBoBox.selectedIndex };
- ViewManager.Show<DressUpView>(1,false);
- }
- /// <summary>
- ///收藏夹
- /// </summary>
- private void OnBtnFavoritesClick()
- {
- if (_tabIndex == TabType.FAVORITES) return;
- ResetPullRelease();
- _tabIndex = _ui.m_c1.selectedIndex;
- _ui.m_comFavorites.m_c1.selectedIndex = FavoritesType.FAVORITE;
- _subtabIndex = _ui.m_comFavorites.m_c1.selectedIndex;
- OnFavoritesTabChange();
- }
- /// <summary>
- /// 切换首页页签
- /// </summary>
- private void OnNormalTabChange()
- {
- ResetPullRelease();
- // _ui.m_comNormal.m_comScroll.target.scrollPane.header.visible = false;
- _subtabIndex = _ui.m_comNormal.m_c1.selectedIndex;
- if (_ui.m_comNormal.m_c1.selectedIndex == RecommendType.RANK)//排行榜
- {
- _galleryDatas = PoemGalleryDataManager.Instance.RankDatas;
- if (_ui.m_comNormal.m_listRank.numItems > 0) _ui.m_comNormal.m_listRank.ScrollToView(0);
- ReqGalleryRankList();
- }
- else
- {
- UpdateList();
- _list.numItems = 0;
- _list1.numItems = 0;
- if (_list.numItems > 0) _list.ScrollToView(0);
- if (_list1.numItems > 0) _list.ScrollToView(0);
- ReqGalleryList(0);
- }
- }
- /// <summary>
- /// 切换收藏页签
- /// </summary>
- private void OnFavoritesTabChange()
- {
- _subtabIndex = _ui.m_comFavorites.m_c1.selectedIndex;
- UpdateList();
- _list.numItems = 0;
- _list1.numItems = 0;
- ReqGalleryList(0);
- }
- private void UpdateList()
- {
- ResetPullRelease();
- if (_tabIndex == TabType.RECOVER)
- {
- _ui.m_comNormal.m_comScroll.m_comHeader.target.visible = true;
- if (_subtabIndex == RecommendType.RECOMMEND)//首页
- {
- // _ui.m_comNormal.m_comScroll.target.scrollPane.header.visible = true;
- if (_ui.m_comNormal.m_comBoBox.selectedIndex == 0)//推荐
- {
- _sortType = (int)GallerySortType.Recommend;
- _galleryDatas = PoemGalleryDataManager.Instance.RecommendDatas;
- }
- else//最新
- {
- _sortType = (int)GallerySortType.Newest;
- _galleryDatas = PoemGalleryDataManager.Instance.NewestDatas;
- }
- }
- else if (_subtabIndex == RecommendType.FRIEND)//好友
- {
- _sortType = (int)GallerySortType.Friend;
- _galleryDatas = PoemGalleryDataManager.Instance.FrinedDatas;
- _ui.m_comNormal.m_comScroll.m_comHeader.target.visible = false;
- }
- else if (_subtabIndex == RecommendType.RANK)
- {
- _galleryDatas = PoemGalleryDataManager.Instance.RankDatas;
- }
- _list = _ui.m_comNormal.m_comScroll.m_listRecommend;
- _list1 = _ui.m_comNormal.m_comScroll.m_listRecommend1;
- _comScroll = _ui.m_comNormal.m_comScroll;
- // _curScrollPane = _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane;
- }
- else if (_tabIndex == TabType.FAVORITES)
- {
- if (_subtabIndex == FavoritesType.FAVORITE)//我的收藏
- {
- _sortType = (int)GallerySortType.MyCollect;
- _galleryDatas = PoemGalleryDataManager.Instance.FavoriteDatas;
- }
- else if (_subtabIndex == FavoritesType.MY_SELF)//我的作品
- {
- _sortType = (int)GallerySortType.MyWorks;
- _galleryDatas = PoemGalleryDataManager.Instance.MySelfDatas;
- }
- _list = _ui.m_comFavorites.m_comScroll.m_listRecommend;
- _list1 = _ui.m_comFavorites.m_comScroll.m_listRecommend1;
- _comScroll = _ui.m_comFavorites.m_comScroll;
- if (_list.numItems > 0) _list.ScrollToView(0);
- if (_list1.numItems > 0) _list1.ScrollToView(0);
- }
- }
- /********************************************************请求更新列表*************************************************/
- //请求刷新
- private async void ReqGalleryList(int startIndex)
- {
- if (PoemGalleryDataManager.Instance.IsResulting())
- {
- if (_sortType == (int)GallerySortType.Recommend || _sortType == (int)GallerySortType.Newest || _sortType == (int)GallerySortType.Friend)
- {
- return;
- }
- }
- bool result = await PoemGallerySProxy.ReqGalleryList(_sortType, startIndex, PoemGalleryDataManager.pageCount);
- if (result)
- {
- Timers.inst.StartCoroutine(PictureStorageHelper.Download(_galleryDatas, startIndex, UpdateGalleryList));
- }
- }
- private void UpdateGalleryList()
- {
- if (_tabIndex == TabType.RECOVER && _subtabIndex == RecommendType.RANK)
- {
- _ui.m_comNormal.m_listRank.numItems = _galleryDatas.Count;
- }
- else
- {
- if (_galleryDatas.Count % 2 == 0)
- {
- _list.numItems = _galleryDatas.Count / 2;
- _list1.numItems = _galleryDatas.Count / 2;
- }
- else
- {
- _list.numItems = (_galleryDatas.Count + 1) / 2;
- _list1.numItems = (_galleryDatas.Count - 1) / 2;
- }
- }
- UpdateView();
- ResetPullRelease();
- }
- //请求排行榜刷新
- private async void ReqGalleryRankList()
- {
- if (PoemGalleryDataManager.Instance.IsResulting())
- {
- return;
- }
- bool result = await PoemGallerySProxy.ReqRankList();
- if (result)
- {
- Timers.inst.StartCoroutine(PictureStorageHelper.Download(_galleryDatas, 0, UpdateGalleryRankList));
- }
- }
- private void UpdateGalleryRankList()
- {
- if (_tabIndex != TabType.RECOVER || _subtabIndex != RecommendType.RANK) return;
- // if (_ui.m_comNormal.m_listRank.numItems > 0) _ui.m_comNormal.m_listRank.ScrollToView(0);
- _ui.m_comNormal.m_listRank.numItems = _galleryDatas.Count;
- UpdateView();
- }
- /********************************************************界面更新*************************************************/
- private void UpdateView()
- {
- bool isResulting = PoemGalleryDataManager.Instance.IsResulting();
- _ui.m_comNormal.m_grpResult.visible = isResulting;
- // _ui.m_comNormal.m_comScroll.target.visible = !isResulting;
- _ui.m_comNormal.m_listRank.visible = !isResulting;
- GalleryThemeCfg themeCfg = GalleryThemeCfgArray.Instance.GetCfg((int)PoemGalleryDataManager.Instance.ThemeId);
- _ui.m_comNormal.m_txtTheme.text = string.Format("本期主题:{0}", themeCfg.theme);
- _ui.m_comNormal.m_txtRank.text = string.Format("我的排名: {0}", PoemGalleryDataManager.Instance.MyRank > 0 && !isResulting ? PoemGalleryDataManager.Instance.MyRank.ToString() : "- -");
- int curCount = GameGlobal.myNumericComponent.GetAsInt(NumericType.LikeGalleryWorksCountDaily);
- int maxCount = GalleryIntegralCfgArray.Instance.dataArray.Length;
- _ui.m_comNormal.m_txtRewardCount.text = string.Format("奖励次数:{0}/{1}", Mathf.Min(curCount, maxCount), maxCount);
- _ui.m_comNormal.m_txtTime.text = string.Format("截止日期:{0}", PoemGalleryDataManager.Instance.GetThemeTime());
- }
- private void RenderListItem(int index, GObject obj)
- {
- long workId = _galleryDatas[index * 2];
- UpdateListItem(workId, obj);
- }
- private void RenderListItem1(int index, GObject obj)
- {
- long workId = _galleryDatas[index * 2 + 1];
- UpdateListItem(workId, obj);
- }
- private void UpdateListItem(long workId, GObject obj)
- {
- PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(workId);
- UI_ListItem item = UI_ListItem.Proxy(obj);
- item.m_c1.selectedIndex = 0;
- if (data.Ntexture == null) return;
- item.m_c1.selectedIndex = 1;
- item.m_loaIcon.texture = data.Ntexture;
- item.m_loaIcon.height = item.m_loaIcon.width * item.m_loaIcon.texture.height / item.m_loaIcon.texture.width;
- item.m_txtName.text = data.AuthorName;
- item.m_btnCollect.title = data.CollectCount.ToString();
- item.m_btnCollect.selected = data.CollectOrNot;
- item.m_btnVote.title = data.VoteCount.ToString();
- item.m_btnVote.selected = data.VoteOrNot;
- if (item.m_loaIcon.data == null)
- {
- item.m_loaIcon.onClick.Add(OnLoaIconClick);
- }
- item.m_loaIcon.data = workId;
- if (item.m_btnCollect.data == null)
- {
- item.m_btnCollect.onClick.Add(OnBtnCollectClick);
- }
- item.m_btnCollect.data = workId;
- if (item.m_btnVote.data == null)
- {
- item.m_btnVote.onClick.Add(OnBtnVoteClick);
- }
- item.m_btnVote.data = workId;
- UI_ListItem.ProxyEnd();
- }
- private void RenderListRankItem(int index, GObject obj)
- {
- long workId = _galleryDatas[index];
- PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(workId);
- UI_ListRankItem item = UI_ListRankItem.Proxy(obj);
- if (data.Ntexture == null) return;
- item.m_loaIcon.texture = data.Ntexture;
- item.m_loaIcon.height = item.m_loaIcon.width * item.m_loaIcon.texture.height / item.m_loaIcon.texture.width;
- item.m_txtName.text = data.AuthorName;
- item.m_btnCollect.title = data.CollectCount.ToString();
- item.m_btnCollect.selected = data.CollectOrNot;
- item.m_btnVote.title = data.VoteCount.ToString();
- item.m_btnVote.selected = data.VoteOrNot;
- item.m_txtRank.text = data.Rank.ToString();
- item.m_c1.selectedIndex = index < 3 ? index : 3;
- if (item.m_loaIcon.data == null)
- {
- item.m_loaIcon.onClick.Add(OnLoaIconClick);
- }
- item.m_loaIcon.data = workId;
- if (item.m_btnCollect.data == null)
- {
- item.m_btnCollect.onClick.Add(OnBtnCollectClick);
- }
- item.m_btnCollect.data = workId;
- if (item.m_btnVote.data == null)
- {
- item.m_btnVote.onClick.Add(OnBtnVoteClick);
- }
- item.m_btnVote.data = workId;
- UI_ListRankItem.ProxyEnd();
- }
- private void OnLoaIconClick(EventContext context)
- {
- GObject obj = context.sender as GObject;
- long workId = (long)obj.data;
- object[] gobackParamDatas = new object[] { _tabIndex, _subtabIndex, _ui.m_comNormal.m_comBoBox.selectedIndex };
- ViewManager.Show<PoemGalleryPreviewView>(new object[] { _sortType, workId });
- }
- private async void OnBtnCollectClick(EventContext context)
- {
- GObject obj = context.sender as GObject;
- long workId = (long)obj.data;
- PoemGalleryData galleryData = PoemGalleryDataManager.Instance.GetGalleryDataById(workId);
- if (galleryData.CollectOrNot)
- {
- bool result = await PoemGallerySProxy.ReqCancelCollecteGalleryWorks(workId);
- if (result)
- {
- if (_tabIndex == TabType.FAVORITES && _subtabIndex == FavoritesType.FAVORITE)
- {
- ReqGalleryList(0);//当前为收藏页要重新拉取数据
- }
- else
- {
- UpdateGalleryList();
- }
- }
- }
- else
- {
- bool result = await PoemGallerySProxy.ReqCollecteGalleryWorks(workId);
- if (result)
- {
- if (_tabIndex == TabType.FAVORITES && _subtabIndex == FavoritesType.FAVORITE)
- {
- ReqGalleryList(0);//当前为收藏页要重新拉取数据
- }
- else
- {
- UpdateGalleryList();
- }
- }
- }
- }
- private async void OnBtnVoteClick(EventContext context)
- {
- GButton obj = context.sender as GButton;
- long workId = (long)obj.data;
- PoemGalleryData galleryData = PoemGalleryDataManager.Instance.GetGalleryDataById(workId);
- if (galleryData.VoteOrNot) return;
- if (PoemGalleryDataManager.Instance.IsResulting())
- {
- obj.selected = galleryData.VoteOrNot;
- PromptController.Instance.ShowFloatTextPrompt("排行榜数据正在结算,无法操作");
- return;
- }
- if (!PoemGalleryDataManager.Instance.IsCurThemeWork(galleryData.CreateTime))
- {
- obj.selected = galleryData.VoteOrNot;
- PromptController.Instance.ShowFloatTextPrompt("往期作品,无法操作");
- return;
- }
- bool result = await PoemGallerySProxy.ReqVoteGalleryWorks(workId);
- if (result)
- {
- UpdateGalleryList();
- int Count = GameGlobal.myNumericComponent.GetAsInt(NumericType.LikeGalleryWorksCountDaily);
- GalleryIntegralCfg integralCfg = GalleryIntegralCfgArray.Instance.GetCfg(Count);
- if (integralCfg != null)
- {
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(integralCfg.itemId);
- PromptController.Instance.ShowFloatTextPrompt(string.Format("{0} +{1}", itemCfg.name, integralCfg.Count));
- }
- }
- }
- /********************************************************下拉刷新*************************************************/
- //自动下拉
- private void PullDown()
- {
- if (_list.numItems > 0) _list.ScrollToView(0);
- _curScrollPane = _list.scrollPane;
- _curScrollPane.header.height = _curScrollPane.header.sourceHeight;
- }
- private void SetScrollCom0()
- {
- _scrollList = _ui.m_comNormal.m_comScroll.m_listRecommend;
- UpdateHeaderPos(_ui.m_comNormal.m_comScroll.m_comHeader.target, _ui.m_comNormal.m_comScroll.m_comFooter.target, _ui.m_comNormal.m_comScroll.m_listRecommend);
- }
- private void SetScrollCom1()
- {
- _scrollList = _ui.m_comNormal.m_comScroll.m_listRecommend1;
- UpdateHeaderPos(_ui.m_comNormal.m_comScroll.m_comHeader.target, _ui.m_comNormal.m_comScroll.m_comFooter.target, _ui.m_comNormal.m_comScroll.m_listRecommend1);
- }
- private void SetScrollCom2()
- {
- _scrollList = _ui.m_comFavorites.m_comScroll.m_listRecommend;
- UpdateHeaderPos(null, _ui.m_comFavorites.m_comScroll.m_comFooter.target, _ui.m_comFavorites.m_comScroll.m_listRecommend);
- }
- private void SetScrollCom3()
- {
- _scrollList = _ui.m_comFavorites.m_comScroll.m_listRecommend1;
- UpdateHeaderPos(null, _ui.m_comFavorites.m_comScroll.m_comFooter.target, _ui.m_comFavorites.m_comScroll.m_listRecommend1);
- }
- private void UpdateHeaderPos(GComponent header, GComponent footer, GList list)
- {
- if (header != null && list.scrollPane.container.y > 0)
- {
- header.height = list.scrollPane.header.height;
- }
- else if (footer != null && list.scrollPane.container.y < -list.scrollPane.posY)
- {
- footer.height = list.scrollPane.footer.height;
- }
- }
- private void SetPullDownParent0()
- {
- _curScrollPane = _ui.m_comNormal.m_comScroll.m_listRecommend.scrollPane;
- OnPullDownRelease();
- }
- private void SetPullDownParent1()
- {
- _curScrollPane = _ui.m_comNormal.m_comScroll.m_listRecommend1.scrollPane;
- OnPullDownRelease();
- }
- //下拉刷新
- private async void OnPullDownRelease()
- {
- if (!_comScroll.m_comHeader.target.visible || _scrollList.scrollPane.header.height < _scrollList.scrollPane.header.sourceHeight || isPullDown) return;
- isPullDown = true;
- _scrollList.scrollPane.LockHeader(_scrollList.scrollPane.header.sourceHeight);
- bool result = await PoemGallerySProxy.ReqGalleryList(_sortType, 0, PoemGalleryDataManager.pageCount);
- // OnPullDownTimeComplete();
- if (result)
- {
- Timers.inst.StartCoroutine(PictureStorageHelper.Download(_galleryDatas, 0, UpdateGalleryList));
- }
- }
- private void OnPullDownTimeComplete()
- {
- if (_scrollList == null) return;
- GComponent header = _scrollList.scrollPane.header;
- Transition transition = header.GetTransition("t0");
- transition.Stop();
- _scrollList.scrollPane.LockHeader(0);
- isPullDown = false;
- }
- //上拉刷新
- private async void OnPullUpToRefresh()
- {
- GComponent header = _scrollList.scrollPane.header;
- if (!header.visible || header.height > header.sourceHeight || isPullDown) return;
- GComponent footer = _scrollList.scrollPane.footer;
- if (footer.height <= footer.sourceHeight || isPullUp) return;
- _lastGalleryDatasCount = _galleryDatas.Count;
- isPullUp = true;
- _scrollList.scrollPane.LockFooter(footer.sourceHeight + 10);
- bool result = await PoemGallerySProxy.ReqGalleryList(_sortType, _galleryDatas.Count, PoemGalleryDataManager.pageCount);
- if (result)
- {
- Timers.inst.StartCoroutine(PictureStorageHelper.Download(_galleryDatas, _lastGalleryDatasCount, UpdateGalleryList));
- }
- }
- private void OnPullUpTimeComplete()
- {
- if (_scrollList == null) return;
- GComponent footer = _scrollList.scrollPane.footer;
- Transition transition = footer.GetTransition("t0");
- transition.Stop();
- _scrollList.scrollPane.LockFooter(0);
- isPullUp = false;
- _ui.m_comNormal.m_comScroll.m_comFooter.target.height = footer.initHeight;
- _ui.m_comFavorites.m_comScroll.m_comFooter.target.height = footer.initHeight;
- }
- //重置上拉/下拉刷新状态
- private void ResetPullRelease()
- {
- OnPullDownTimeComplete();
- OnPullUpTimeComplete();
- ViewManager.Hide<ModalStatusView>();
- }
- }
- }
|