private void SetWeiboData(RepeatedField <UserMicroBlogPB> res) { if (_userWeiboList == null) { _userWeiboList = new List <WeiboVo>(); } else { _userWeiboList.Clear(); } List <int> ids = new List <int>(); foreach (var v in res) { var weiboInfo = new WeiboVo() { UserId = v.UserId, SceneId = v.SceneId, IsLike = v.Like == 1, IsComment = v.SelectState == 1, IsPublish = v.PubState == 1, CommentIndex = v.SelectIndex, CreateTime = v.CreateTime, //CommentContents = new List<string>(), }; // weiboInfo.IsPublish = weiboInfo.WeiboRuleInfo.weiboSceneInfo.NpcId == 0 ? v.PubState == 1 : true; _userWeiboList.Add(weiboInfo); ids.Add(v.SceneId); } LoadWeiboRulesByIds(ids); }
public static WeiboVo TransWeiboData(UserMicroBlogPB data) { var weiboInfo = new WeiboVo() { UserId = data.UserId, SceneId = data.SceneId, IsLike = data.Like == 1, IsComment = data.SelectState == 1, IsPublish = data.PubState == 1, CommentIndex = data.SelectIndex, CreateTime = data.CreateTime, //CommentContents = new List<string>(), }; // weiboInfo.IsPublish = weiboInfo.WeiboRuleInfo.weiboSceneInfo.NpcId == 0 ? v.PubState == 1 : true; string text = new AssetLoader().LoadTextSync(AssetLoader.GetPhoneDataPath(data.SceneId.ToString())); if (text == "") { return(null); } WeiboInfo info = JsonConvert.DeserializeObject <WeiboInfo>(text); weiboInfo.WeiboRuleInfo = info; return(weiboInfo); }
public void AddWeiboData(WeiboVo vo) { if (_userWeiboList.Contains(vo)) { return; } if (_userWeiboList.Find((m) => { return(m.SceneId == vo.SceneId); }) != null) { return; } _userWeiboList.Add(vo); }
public void SetData(WeiboVo data) { _data = data; // _blogName.text = _data.Blogger; if (_data.WeiboRuleInfo.weiboSceneInfo.NpcId < 5) { _blogName.text = PhoneData.GetNpcNameById(_data.WeiboRuleInfo.weiboSceneInfo.NpcId); } else { _blogName.text = _data.WeiboRuleInfo.weiboSceneInfo.NpcName; } _ContentTxt.text = _data.WeiboRuleInfo.weiboSceneInfo.TitleContent; string dateStr = ""; long hasPassedStamp = ClientTimer.Instance.GetCurrentTimeStamp() - data.CreateTime; if (hasPassedStamp < 0) { dateStr = I18NManager.Get("Phone_Tips1"); } else if (hasPassedStamp < 1000 * 60 * 60 * 24) { // long s = (smsVo.CreateTime / 1000) % 60; long m = (data.CreateTime / (60 * 1000)) % 60; long h = (data.CreateTime / (60 * 60 * 1000) + 8) % 24; // dateStr = string.Format("{0:D2}:{1:D2}:{2:D2}", h, m, s); dateStr = string.Format("{0:D2}:{1:D2}", h, m); } else { dateStr = I18NManager.Get("Phone_Tips2"); } _lastTimeTxt.text = dateStr; string bgId = _data.WeiboRuleInfo.weiboSceneInfo.BackgroundId; if (bgId == "0" || bgId == "") { _bgImg.transform.parent.gameObject.Hide(); } else { _bgImg.texture = ResourceManager.Load <Texture>("Phone/WeiboBackGround/" + bgId, ModuleConfig.MODULE_PHONE); // _bgImg.SetNativeSize(); _bgImg.transform.parent.gameObject.Show(); } string headPath = WeiboVo.GetHeadPath(_data.WeiboRuleInfo.weiboSceneInfo.NpcId); transform.Find("Title/HeadMask/HeadIcon").GetComponent <RawImage>().texture = ResourceManager.Load <Texture>(headPath, ModuleConfig.MODULE_PHONE); transform.Find("Bottom/ShareNumTxt").GetComponent <Text>().text = _data.WeiboRuleInfo.weiboSceneInfo.ReadNum; transform.Find("Bottom/CommentNumTxt").GetComponent <Text>().text = _data.WeiboRuleInfo.weiboSceneInfo.ConmentNum; int LikeNum = int.Parse(_data.WeiboRuleInfo.weiboSceneInfo.LikeNum); int likes = _data.IsLike ? LikeNum + 1 : LikeNum; transform.Find("Bottom/LikeNumTxt").GetComponent <Text>().text = likes.ToString(); _likeBtn.interactable = !_data.IsLike; }
static List <MySmsOrCallVo> _waitToShows;//等待显示一般只有四个NPC的 /// <summary> /// 通用手机tips /// </summary> /// <param name="content">提示内容</param> /// <param name="title">标题</param> /// <param name="okBtnText">确定按钮文本</param> /// <param name="cancelBtnText">取消按钮文本</param> /// <returns></returns> public static void ShowPhoneTipsWindow(Action finished = null) { var curStep = GuideManager.CurStage(); //如果能保证新手引导要使用的资源提前达到包里的话,该判断条件可以去掉 if (curStep < GuideStage.ExtendDownloadStage) { finished?.Invoke(); return; } _waitToShows.Clear(); bool isHoldShow = false; byte[] buffer = NetWorkManager.GetByteData(new Com.Proto.UserPhoneTipDataReq() { }); NetWorkManager.Instance.Send <Com.Proto.UserPhoneTipDataRes>(Assets.Scripts.Module.NetWork.CMD.PHONEC_TIPS_DATA, buffer, (res) => { List <int> EliminatSceneIds = new List <int>(); for (int i = 0; i < res.FriendCircles.Count; i++) { FriendCircleVo vo = PhoneData.TransFriendCircleData(res.FriendCircles[i]); if (vo == null) { continue; } GlobalData.PhoneData.AddFriendCircleData(vo); Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_FC, true); EliminatSceneIds.Add(vo.SceneId); } for (int i = 0; i < res.MicroBlogs.Count; i++) { WeiboVo vo = PhoneData.TransWeiboData(res.MicroBlogs[i]); if (vo == null) { continue; } GlobalData.PhoneData.AddWeiboData(vo); Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_WEIBO, true); EliminatSceneIds.Add(vo.SceneId); } bool isShowTips = false; //MySmsOrCallVo voTips = null; for (int i = 0; i < res.MsgOrCalls.Count; i++) { //一次只会触发一条短信 先默认最后一条 //先转数据格式 MySmsOrCallVo vo = PhoneData.TransSmsOrCallData(res.MsgOrCalls[i]); if (vo == null || vo.FirstTalkInfo.NpcId == 0) { continue; } isShowTips = GlobalData.PhoneData.IsSmsOrCallTipsShow(vo); if (!isShowTips) { if (vo.SceneId < 10000) { Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_SMS, true); } else { Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_CALL, true); } GlobalData.PhoneData.AddSmsOrCallData(vo); EliminatSceneIds.Add(vo.SceneId); } else { if (_waitToShows.Find((m) => { return(m.NpcId == vo.NpcId); }) != null) { continue; } _waitToShows.Add(vo); } } if (_waitToShows.Count > 0)//第一个默认添加 { _waitToShows.Sort(); GlobalData.PhoneData.AddSmsOrCallData(_waitToShows[0]); EliminatSceneIds.Add(_waitToShows[0].SceneId); } for (int i = 0; i < res.MsgOrCalls.Count; i++) { //一次只会触发一条短信 先默认最后一条 //先转数据格式 MySmsOrCallVo vo = PhoneData.TransSmsOrCallData(res.MsgOrCalls[i]); if (vo == null || vo.FirstTalkInfo.NpcId != 0) { continue; } GlobalData.PhoneData.AddSmsOrCallData(vo); EliminatSceneIds.Add(vo.SceneId); if (vo.SceneId < 10000) { Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_SMS, true); } else { Util.SetIsRedPoint(Constants.REDPOINT_PHONE_BGVIEW_CALL, true); } } //test EliminatEsceneId(EliminatSceneIds); finished?.Invoke(); // if (!isShowTips) return; HandleShowWindow(_waitToShows); return; }, (v) => { finished?.Invoke(); }); }