using UnityEngine; using System.Collections; using System.Collections.Generic; using Games.GlobeDefine; using GCGame.Table; public class Community { private static Community _Instance; public static Community Instance { get { if (_Instance == null) _Instance = new Community(); return _Instance; } } private Community() { } #region resource url public string HeadPicUpLoadUrl { get { return ControllUrlManager.ImageUpLoadUrl; } } public string HeadPicDownUrl { get { return ControllUrlManager.ImageDownLoadUrl; } } public string BlogPicUpLoadUrl { get { return ControllUrlManager.ImageUpLoadUrl; } } public string BlogPicDownUrl { get { return ControllUrlManager.ImageDownLoadUrl; } } public string _ApiKey; public void InitResUrl() { if (!string.IsNullOrEmpty(_ApiKey)) return; CG_REQ_MENGDAO_URL packet = (CG_REQ_MENGDAO_URL)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_MENGDAO_URL); packet.Nilparam = 1; packet.SendPacket(); } public void ResUrlRet(GC_RET_MENGDAO_URL packet) { //_HeadPicUpLoadUrl = packet.Headpicuploadurl; //_HeadPicDownUrl = packet.Headpicdownurl; //_BlogPicUpLoadUrl = packet.Blogpicuploadcurl; //_BlogPicDownUrl = packet.Blogpicdownurl; _ApiKey = packet.Apikey; } public string GetHeadIconDownUrl(string name) { return /*_HeadPicDownUrl + "?img=" + */name/* + ".png"*/; } public string GetHeadIconUpLoadName(string name) { return name/* + ".png"*/; } public string GetPicDownUrl(string name) { return /*_BlogPicDownUrl + "?img=" + */name; } public string GetPicUpLoadName(string name) { return name/* + ".png"*/; } #endregion #region Blog History #region my blog opt history public List _MyHistoryMsg = new List(); private int _LastLoadMyHistoryIdx; public void LoadMoreHistory() { CG_REQ_BLOG_HISTORY packet = (CG_REQ_BLOG_HISTORY)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_BLOG_HISTORY); packet.Maxmsgindex = _LastLoadMyHistoryIdx; packet.Count = 10; packet.SendPacket(); } public void ReLoadMoreHistory() { _MyHistoryMsg.Clear(); _LastLoadMyHistoryIdx = -1; LoadMoreHistory(); } public void RetHistoryMsg(GC_RET_BLOG_HISTORY packet) { for (int i = 0; i < packet.msgidxCount; ++i) { CommunityHistoryMsgInfo msgInfo = new CommunityHistoryMsgInfo(); _MyHistoryMsg.Add(msgInfo); msgInfo.Profession = packet.GetJob(i); msgInfo.MsgID = packet.GetMsgidx(i); msgInfo.Name = packet.GetRolename(i); msgInfo.Level = packet.GetLevel(i); msgInfo.MsgType = packet.GetType(i); msgInfo.BlogText = packet.GetContextoutline(i); msgInfo.MsgText = packet.GetComment(i); if (!string.IsNullOrEmpty(packet.GetHeadpic(i))) { msgInfo.HeadPicName = Community.Instance.GetHeadIconDownUrl(packet.GetHeadpic(i)); } _LastLoadMyHistoryIdx = msgInfo.MsgID; } if (CommunityBlogPageLogic.Instance()) CommunityBlogPageLogic.Instance().UpdateHistoryMsg(); } #endregion #region player focus public List _CommunityPlayerInfos = new List(); public void LoadMoreFocus() { if (_CommunityPlayerInfos.Count != 0) return; CG_REQ_VIEW_MY_INTEREST_LIST packet = (CG_REQ_VIEW_MY_INTEREST_LIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_VIEW_MY_INTEREST_LIST); packet.Nilparam = 1; packet.SendPacket(); } public void ReloadFocus() { _CommunityPlayerInfos.Clear(); LoadMoreFocus(); } public void RetLoadFocus(GC_RET_VIEW_MY_INTEREST_LIST packet) { _CommunityPlayerInfos.Clear(); for (int i = 0; i < packet.roleguidCount; ++i) { CommunityOtherPlayerInfo playerInfo = new CommunityOtherPlayerInfo(); if (GlobeVar.IsGUIDValid(packet.GetRoleguid(i))) { _CommunityPlayerInfos.Add(playerInfo); playerInfo.Profession = packet.GetJob(i); playerInfo.HeadIconName = packet.GetHeadpic(i); playerInfo.Name = packet.GetRolename(i); playerInfo.GUID = packet.GetRoleguid(i); playerInfo.Level = packet.GetRolelevel(i); } } if (CommunityBlogPageLogic.Instance()) { if (CommunityBlogPageLogic.Instance()._OtherBlogPanel.activeSelf) { CommunityBlogPageLogic.Instance().UpdateFocusBtn(); } else { CommunityLogic.Instance()._EmptyTip.text = ""; CommunityBlogPageLogic.Instance().UpdateFocusList(); CommunityBlogPageLogic.Instance().UpdateFocusBtn(); } } } #endregion #region Player blog private ulong _LastLoadPlayerBlogGuid = GlobeVar.INVALID_GUID; public List _LoadedPlayerBlogs = new List(); public static int _LoadBlogCnt = 10; public void LoadMoreMyBlog() { CG_REQ_VIEW_BLOG_LIST packet = (CG_REQ_VIEW_BLOG_LIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_VIEW_BLOG_LIST); packet.Roleguid = CommunityLogic.CommunityPlayerInfo.GUID; packet.Curblogguid = _LastLoadPlayerBlogGuid; packet.Count = _LoadBlogCnt; packet.Selfonly = 1; packet.SendPacket(); //RetLoadBlogTest(); } public void LoadMoreFocusBlog() { CG_REQ_VIEW_BLOG_LIST packet = (CG_REQ_VIEW_BLOG_LIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_VIEW_BLOG_LIST); packet.Roleguid = CommunityLogic.CommunityPlayerInfo.GUID; packet.Curblogguid = _LastLoadPlayerBlogGuid; packet.Count = _LoadBlogCnt; packet.Selfonly = 0; packet.SendPacket(); //RetLoadBlogTest(); } public void ReLoadMoreMyBlog() { _LastLoadPlayerBlogGuid = GlobeVar.INVALID_GUID; _LoadedPlayerBlogs.Clear(); LoadMoreMyBlog(); } public void ReLoadMoreFocusBlog() { _LastLoadPlayerBlogGuid = GlobeVar.INVALID_GUID; _LoadedPlayerBlogs.Clear(); LoadMoreFocusBlog(); } public void RetLoadBlogTest() { GC_RET_VIEW_BLOG_LIST packet = new GC_RET_VIEW_BLOG_LIST(); for (int i = 0; i < 10; ++i) { var guid = _LastLoadPlayerBlogGuid + 1; packet.AddBlogguid(guid); packet.AddContext("Test Contex:" + guid); StringArray picNames = new StringArray(); picNames.AddVallist("testPhoto"); picNames.AddVallist("testPhoto"); picNames.AddVallist("testPhoto"); picNames.AddVallist("testPhoto"); packet.AddPicnamelist(picNames); packet.AddHeadpic("testPhoto"); packet.AddRolelevel(i); packet.AddRoleguid((ulong)i); packet.AddRolename("RoleName" + i); packet.AddReprinttimes(i); packet.AddLiketimes(i); packet.AddLikedrolelist(new LikedRoleInfoList()); for (int j = 0; j < i; ++j) { LikedRoleInfo likeInfo = new LikedRoleInfo(); likeInfo.Roleguid = (ulong)j; likeInfo.Rolename = "Like" + j; packet.likedrolelistList[i].AddInfolist(likeInfo); } packet.AddCommentlist(new BlogCommentList()); //for (int j = 0; j < i; ++j) //{ // BlogComment commentInfo = new BlogComment(); // commentInfo.Roleguid = (ulong)j; // commentInfo.Rolename = "Role" + j; // commentInfo.Comment = "Comment" + j; // commentInfo.Desguid = (ulong)(j + 10); // commentInfo.Desname = "Dest" + j; // packet.commentlistList[i].AddCommentlist(commentInfo); //} packet.AddRecordtime(i * 100); packet.AddReprintroleguid((ulong)i * 10); packet.AddReprintroleheadpic("testPhoto"); packet.AddReprintrolename("Forwarding" + i); packet.AddBlogtype(i % 2); } RetLoadBlog(packet); } public void RetLoadBlog(GC_RET_VIEW_BLOG_LIST packet) { for (int i = 0; i < packet.blogguidCount; ++i) { CommunityBlogInfo newBlog = new CommunityBlogInfo(); _LoadedPlayerBlogs.Add(newBlog); newBlog.GUID = packet.GetBlogguid(i); newBlog.Profession = packet.GetProf(i); newBlog.Contex = packet.GetContext(i); newBlog.HeadIconUrl = packet.GetHeadpic(i); newBlog.Level = packet.GetRolelevel(i); newBlog.RoleGuid = packet.GetRoleguid(i); newBlog.Name = packet.GetRolename(i); newBlog.ForwardingCnt = packet.GetReprinttimes(i); newBlog.LikeCnt = packet.GetLiketimes(i); newBlog.LikeRoles = new List(); newBlog.CommentCnt = packet.GetCommenttimes(i); for (int j = 0; j < packet.GetLikedrolelist(i).infolistCount; ++j) { newBlog.LikeRoles.Add(packet.GetLikedrolelist(i).GetInfolist(j)); } newBlog.Comments = new List(); for (int j = 0; j < packet.GetCommentlist(i).commentlistCount; ++j) { newBlog.Comments.Add(packet.GetCommentlist(i).GetCommentlist(j)); } newBlog.Time = packet.GetRecordtime(i); newBlog.ContexImageUrls = new List(); if (GlobeVar.IsGUIDValid(packet.GetReprintroleguid(i))) { newBlog.ForwardingBlog = new CommunityBlogInfo(); newBlog.ForwardingBlog.RoleGuid = packet.GetReprintroleguid(i); newBlog.ForwardingBlog.Name = packet.GetReprintrolename(i); newBlog.ForwardingBlog.HeadIconUrl = packet.GetReprintroleheadpic(i); newBlog.ForwardingBlog.Profession = packet.GetReprintrolejob(i); newBlog.ForwardingBlog.Contex = packet.GetContext(i); newBlog.Contex = packet.GetReprintcomment(i); newBlog.ForwardingBlog.Level = packet.GetReprintrolelevel(i); newBlog.ForwardingBlog.ContexImageUrls = new List(); for (int j = 0; j < packet.GetPicnamelist(i).vallistCount; ++j) { newBlog.ForwardingBlog.ContexImageUrls.Add(packet.GetPicnamelist(i).GetVallist(j)); } } else { newBlog.ContexImageUrls = new List(); for (int j = 0; j < packet.GetPicnamelist(i).vallistCount; ++j) { newBlog.ContexImageUrls.Add(packet.GetPicnamelist(i).GetVallist(j)); } } _LastLoadPlayerBlogGuid = newBlog.GUID; } if (CommunityBlogPageLogic.Instance() && CommunityBlogPageLogic.Instance()._FocusBlogContainer.isActiveAndEnabled) { if (packet.blogguidCount == 0) { if (Community.Instance._LoadedPlayerBlogs.Count > _LoadBlogCnt) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{39013}")); } CommunityBlogPageLogic.Instance().UpdateFocusBlogs(); CommunityBlogPageLogic.Instance().UpdateNoMoreFocus(); } else { CommunityBlogPageLogic.Instance().UpdateFocusBlogs(); } } else if(CommunityBlogPageLogic.Instance()) { if (packet.blogguidCount == 0) { if (Community.Instance._LoadedPlayerBlogs.Count > _LoadBlogCnt) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{39013}")); } CommunityBlogPageLogic.Instance().UpdatePlayerBlogs(); CommunityBlogPageLogic.Instance().UpdateNoMoreBlogs(); } else { CommunityBlogPageLogic.Instance().UpdatePlayerBlogs(); } } } #endregion #endregion #region test send blog public void TestSendBlog(string sendContex, List netImage) { GC_RET_VIEW_BLOG_LIST packet = new GC_RET_VIEW_BLOG_LIST(); for (int i = 0; i < 1; ++i) { var guid = _LastLoadPlayerBlogGuid + 1; packet.AddBlogguid(guid); packet.AddContext(sendContex); StringArray picNames = new StringArray(); for (int j = 0; j< netImage.Count; ++j) { picNames.AddVallist(netImage[j].NetImageUrl); picNames.AddVallist(netImage[j].LargeImageUrl); } packet.AddPicnamelist(picNames); packet.AddHeadpic("testPhoto"); packet.AddRolelevel(i); packet.AddRoleguid((ulong)i); packet.AddRolename("RoleName" + i); packet.AddReprinttimes(i); packet.AddLiketimes(i); packet.AddLikedrolelist(new LikedRoleInfoList()); for (int j = 0; j < i; ++j) { LikedRoleInfo likeInfo = new LikedRoleInfo(); likeInfo.Roleguid = (ulong)j; likeInfo.Rolename = "Like" + j; packet.likedrolelistList[i].AddInfolist(likeInfo); } packet.AddCommentlist(new BlogCommentList()); //for (int j = 0; j < i; ++j) //{ // BlogComment commentInfo = new BlogComment(); // commentInfo.Roleguid = (ulong)j; // commentInfo.Rolename = "Role" + j; // commentInfo.Comment = "Comment" + j; // commentInfo.Desguid = (ulong)(j + 10); // commentInfo.Desname = "Dest" + j; // packet.commentlistList[i].AddCommentlist(commentInfo); //} packet.AddRecordtime(i * 100); packet.AddReprintroleguid((ulong)i * 10); packet.AddReprintroleheadpic("testPhoto"); packet.AddReprintrolename("Forwarding" + i); packet.AddBlogtype(i % 2); } RetLoadBlog(packet); } #endregion #region like and comment public CommunityBlogItem _OptBlogItem; private string _TempComment; public void SetLikeBlog(CommunityBlogItem blogItem) { _OptBlogItem = blogItem; CG_REQ_LIKE_BLOG packet = (CG_REQ_LIKE_BLOG)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_LIKE_BLOG); packet.Blogguid = _OptBlogItem._BlogInfo.GUID; packet.Opt = 1; packet.Targetguid = _OptBlogItem._BlogInfo.RoleGuid; packet.SendPacket(); } public void SetDisLikeBlog(CommunityBlogItem blogItem) { _OptBlogItem = blogItem; CG_REQ_LIKE_BLOG packet = (CG_REQ_LIKE_BLOG)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_LIKE_BLOG); packet.Blogguid = _OptBlogItem._BlogInfo.GUID; packet.Opt = 0; packet.Targetguid = _OptBlogItem._BlogInfo.RoleGuid; packet.SendPacket(); } public void UpdateLikeBlog(GC_RET_LIKE_BLOG packet) { if (_OptBlogItem != null) { if(packet.Opt == 1) _OptBlogItem.AddLike(); else _OptBlogItem.RemoveLike(); } } public void SetCommentBlog(CommunityBlogItem blogItem, string commentContex, ulong targetGuid) { _OptBlogItem = blogItem; CG_REQ_SAVE_COMMENT_BLOG packet = (CG_REQ_SAVE_COMMENT_BLOG)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_SAVE_COMMENT_BLOG); packet.Blogguid = _OptBlogItem._BlogInfo.GUID; packet.Comment = commentContex; packet.Desguid = targetGuid; packet.Blogownerguid = _OptBlogItem._BlogInfo.RoleGuid; packet.SendPacket(); _TempComment = commentContex; } public void UpdateMyComment(GC_RET_SAVE_COMMENT_BLOG packet) { if (_OptBlogItem != null) { _OptBlogItem.UpdateMyComment(_TempComment, packet.Index); } } public void ReqDeleteComment(CommunityBlogItem blogItem, int idx) { _OptBlogItem = blogItem; CG_REQ_DELETE_COMMENT_BLOG packet = (CG_REQ_DELETE_COMMENT_BLOG)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_DELETE_COMMENT_BLOG); packet.Blogguid = _OptBlogItem._BlogInfo.GUID; packet.Index = idx; packet.SendPacket(); } public void RetDeleteComment(GC_RET_DELETE_COMMENT_BLOG packet) { var findComment = _OptBlogItem._BlogInfo.Comments.Find((comment) => { if (comment.Index == packet.Index) return true; return false; }); if (findComment != null) { _OptBlogItem._BlogInfo.Comments.Remove(findComment); } if (_OptBlogItem._BlogInfo.Comments.Count < 4) { _OptBlogItem._BlogInfo.CommentCnt = _OptBlogItem._BlogInfo.Comments.Count; } else { _OptBlogItem._BlogInfo.CommentCnt -= 1; } _OptBlogItem._CommentCnt.text = _OptBlogItem._BlogInfo.CommentCnt.ToString(); _OptBlogItem.LoadMoreComment(1); } #endregion #region gitf info public int _ViewCnt; public int _GiftCnt; public int _FlowerCnt; public void InitGiftInfo(GC_RET_MENGDAO_INFO packet) { _ViewCnt = packet.Hot; _GiftCnt = packet.Giftcount; _FlowerCnt = packet.Friendlycount; if (CommunityMsgPageLogic.Instance()) { CommunityMsgPageLogic.Instance().UpdateGiftCnts(); } } public void RetViewSpace(GC_RET_STEP_SPACE packet) { //if (packet.Errcode == 0) //{ // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{39010}")); //} //else //{ // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{39009}")); //} //if (packet.Iteid > 0) //{ // Tab_CommonItem itemData = TableManager.GetCommonItemByID(packet.Itemid, 0); // if (itemData != null) // { // GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{39011}", itemData.Name)); // ++_GiftCnt; // } //} //_ViewCnt += packet.Hot; ++_ViewCnt; if (CommunityMsgPageLogic.Instance()) { CommunityMsgPageLogic.Instance().UpdateGiftCnts(); } } public void RetSetGift(GC_RET_MENGDAO_SET_GIFT packet) { _GiftCnt = packet.Giftcount; if (CommunityMsgPageLogic.Instance()) { CommunityMsgPageLogic.Instance().UpdateGiftCnts(); } } #endregion #region new msg tip public bool _HasNewLeaveWord; public bool _HasNewBlogMsg; public void SetNewMsg(GC_NOTIFY_NEW_WEIBO_INFO packet) { _HasNewBlogMsg = true; if (ChatFrameLogic.Instance()) { ChatFrameLogic.Instance()._SpaceTip.SetActive(true); } if (CommunityLogic.Instance()) { CommunityLogic.Instance()._NewMsgTips.SetActive(true); } } public void SetNewMsg(GC_NOTIFY_NEW_WEIBO_LEAVE_WORD packet) { _HasNewLeaveWord = true; if (ChatFrameLogic.Instance()) { ChatFrameLogic.Instance()._SpaceTip.SetActive(true); } if (CommunityLogic.Instance()) { CommunityLogic.Instance()._LeaveWordTips.SetActive(true); } } public void ResetLeaveWordTip() { _HasNewLeaveWord = false; SetTips(); } public void ResetBlogMsg() { _HasNewBlogMsg = false; SetTips(); } public void SetTips() { if (ChatFrameLogic.Instance()) { if (_HasNewLeaveWord == false && _HasNewBlogMsg == false) { ChatFrameLogic.Instance()._SpaceTip.SetActive(false); } else { ChatFrameLogic.Instance()._SpaceTip.SetActive(true); } } if (CommunityLogic.Instance()) { if (!_HasNewLeaveWord) { CommunityLogic.Instance()._LeaveWordTips.SetActive(false); } else { CommunityLogic.Instance()._LeaveWordTips.SetActive(true); } if (!_HasNewBlogMsg) { CommunityLogic.Instance()._NewMsgTips.SetActive(false); } else { CommunityLogic.Instance()._NewMsgTips.SetActive(true); } } } #endregion }