| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 | using System;using System.Collections.Generic;using System.IO;using ET;using FairyGUI;using UnityEngine;namespace GFGGame{    public class PoemGalleryDataManager : SingletonBase<PoemGalleryDataManager>    {        public const int pageCount = 10;        private long _themeOrder = 0;        /// <summary>        /// 主题期数        /// </summary>        public long ThemeOrder        {            get            {                return _themeOrder;            }            set            {                _themeOrder = value;            }        }        private long _themeId = 1;        /// <summary>        /// 主题配置id        /// </summary>        public long ThemeId        {            get            {                return _themeId;            }            set            {                _themeId = value;            }        }        private long _myRank = 0;        /// <summary>        /// 我的最高排行,排行榜界面展示用        /// </summary>        public long MyRank        {            get            {                return _myRank;            }            set            {                _myRank = value;            }        }        private long _myWorksCountOfTheme = 0;        /// <summary>        /// 本期主题我的作品数        /// </summary>        public long MyWorksCountOfTheme        {            get            {                return _myWorksCountOfTheme;            }            set            {                _myWorksCountOfTheme = value;            }        }        private bool _hasBonus = false;        /// <summary>        /// 本期主题我的作品数        /// </summary>        public bool HasBonus        {            get            {                return _hasBonus;            }            set            {                _hasBonus = value;            }        }        private List<int> _myWorksRanks = new List<int>() { 1, 5 };        /// <summary>        /// 本期主题我的作品数        /// </summary>        public List<int> MyWorksRanks        {            get            {                return _myWorksRanks;            }            set            {                _myWorksRanks = value;            }        }        /// <summary>        /// 推荐数据        /// </summary>        public List<long> RecommendDatas = new List<long>();        /// <summary>        /// 最新数据        /// </summary>        public List<long> NewestDatas = new List<long>();        /// <summary>        /// 好友数据        /// </summary>        public List<long> FrinedDatas = new List<long>();        /// <summary>        /// 收藏数据        /// </summary>        public List<long> FavoriteDatas = new List<long>();        /// <summary>        /// 我的作品数据        /// </summary>        public List<long> MySelfDatas = new List<long>();        /// <summary>        /// 排行榜数据        /// </summary>        public List<long> RankDatas = new List<long>();        private Dictionary<long, PoemGalleryData> _dicGalleryData = new Dictionary<long, PoemGalleryData>();        public void Clear()        {            _myWorksRanks.Clear();            _dicGalleryData.Clear();            RecommendDatas.Clear();            NewestDatas.Clear();            FrinedDatas.Clear();            FavoriteDatas.Clear();            MySelfDatas.Clear();            RankDatas.Clear();            ThemeOrder = 0;            ThemeId = 1;            MyWorksCountOfTheme = 0;            HasBonus = false;        }        public void UpdateGalleryData(PoemGalleryData data)        {            if (_dicGalleryData.ContainsKey(data.WorkId))            {                _dicGalleryData[data.WorkId] = data;            }            else            {                _dicGalleryData.Add(data.WorkId, data);            }        }        public void RemoveGalleryData(long workId)        {            if (_dicGalleryData.ContainsKey(workId))            {                // _dicGalleryData.Remove(workId);                if (MySelfDatas.IndexOf(workId) >= 0) MySelfDatas.Remove(workId);                if (RankDatas.IndexOf(workId) >= 0) RankDatas.Remove(workId);                if (FavoriteDatas.IndexOf(workId) >= 0) FavoriteDatas.Remove(workId);            }        }        public PoemGalleryData GetGalleryDataById(long workId)        {            if (_dicGalleryData.ContainsKey(workId))            {                return _dicGalleryData[workId];            }            return null;        }        public void UpdateRoleInfo(long workId, string name, int rank = 0)        {            if (_dicGalleryData.ContainsKey(workId))            {                _dicGalleryData[workId].AuthorName = name;                if (rank > 0)                {                    _dicGalleryData[workId].Rank = rank;                }            }        }        public void UpdateFavoriteState(long workId, bool state, long count)        {            if (_dicGalleryData.ContainsKey(workId))            {                _dicGalleryData[workId].CollectOrNot = state;                _dicGalleryData[workId].CollectCount = count;            }        }        public void UpdateVoteiteState(long workId, bool state, long count)        {            if (_dicGalleryData.ContainsKey(workId))            {                _dicGalleryData[workId].VoteOrNot = state;                _dicGalleryData[workId].VoteCount = count;            }        }        public string GetThemeTime()        {            // int week = GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1 == 0 ? 7 : GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1;            long monday00 = TimeUtil.GetCurWeekTime(1);//本周一0点            long monday = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);//本周结算时间            long startTime = 0;            long endTime = 0;            if ((TimeInfo.Instance.ServerNow()) < monday)//本周一5点之前显示上周            {                startTime = TimeUtil.GetLastWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);                if (GlobalCfgArray.globalCfg.galleryClearingWeekTime == 1)                {                    endTime = TimeUtil.GetLastWeekTime(7);                }                else                {                    endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1);                }            }            else            {                startTime = monday;                if (GlobalCfgArray.globalCfg.galleryClearingWeekTime == 1)                {                    endTime = TimeUtil.GetCurWeekTime(7);                }                else                {                    endTime = TimeUtil.GetNextWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1, GlobalCfgArray.globalCfg.galleryClearingEndTime);                }            }            string strStartTime = TimeUtil.FormattingTimeTo_MMdd(startTime);            string strEndTime = TimeUtil.FormattingTimeTo_MMdd(endTime); ;            return string.Format("{0}至{1}", strStartTime, strEndTime);        }        /// <summary>        /// 是否结算中        /// </summary>        /// <returns></returns>        public bool IsResulting()        {            long start = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime); ;//本周一5点刷新本周            long end = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingEndTime);//本周一4点结算上周            long now = TimeInfo.Instance.ServerNow();            return now > start && now < end;        }        /// <summary>        /// 是否为本期作品        /// </summary>        /// <returns></returns>        public bool IsCurThemeWork(long time)        {            long monday = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);//本周结算时间            long startTime = 0;            if ((TimeInfo.Instance.ServerNow()) < monday)//本周一5点之前显示上周            {                startTime = TimeUtil.GetLastWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime, GlobalCfgArray.globalCfg.galleryClearingStartTime);                return time > startTime;            }            else            {                startTime = monday;            }            return time > startTime;        }    }}
 |