123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using ET;
- using FairyGUI;
- using UnityEngine;
- namespace GFGGame
- {
- public class PoemGalleryDataManager : SingletonBase<PoemGalleryDataManager>
- {
- 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);
- MySelfDatas.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()
- {
- 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);
- endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1);
- }
- else
- {
- startTime = monday;
- endTime = TimeUtil.GetNextWeekTime(GlobalCfgArray.globalCfg.galleryClearingWeekTime - 1, GlobalCfgArray.globalCfg.galleryClearingEndTime);
- }
- string strStartTime = TimeUtil.FormattingTime3(startTime);
- string strEndTime = TimeUtil.FormattingTime3(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;
- }
- }
- }
|