public static FriendCircleVo TransFriendCircleData(UserFriendCirclePB data) { var userMsg = data; var friendCircleInfo = new FriendCircleVo() { UserId = data.UserId, SceneId = data.SceneId, PublishState = data.PubState == 1, CreateTime = data.CreateTime, PublishTime = data.PubTime, curOperateSelectID = -1, curOperateTime = 0, SelectIds = new List <int>(), }; if (data.SelectIds.Count > 0) { friendCircleInfo.SelectIds.AddRange(data.SelectIds); } string text = new AssetLoader().LoadTextSync(AssetLoader.GetPhoneDataPath(data.SceneId.ToString())); if (text == "") { return(null); } FriendCircleInfo info = JsonConvert.DeserializeObject <FriendCircleInfo>(text); friendCircleInfo.FriendCircleRuleInfo = info; return(friendCircleInfo); }
/// <summary> /// 展示回复界面 /// </summary> /// <param name="sceneId"></param> public void ShowReplay(int sceneId, GameObject gameObject, List <int> ids) { Debug.Log("ShowReplay " + sceneId + " ids " + ids.ToString()); _selectSceneId = sceneId; _selectObj = gameObject; FriendCircleVo info = _data.Find(match => match.SceneId == sceneId); if (info == null) { Debug.LogError("ShowReplay info is null"); } for (int i = _selectContainer.childCount - 1; i >= 0; i--) { Destroy(_selectContainer.GetChild(i).gameObject); } foreach (var v in ids) { var vrule = info.GetCurSceneFCRuleByReplyId(v); var FCSelectPrefab = GetPrefab("Phone/Prefabs/Item/FCSelectItem"); var item = Instantiate(FCSelectPrefab) as GameObject; item.transform.SetParent(_selectContainer, false); item.transform.localScale = Vector3.one; item.GetComponent <FCSelectItem>().SetData(vrule.Content); item.transform.GetComponent <Button>().onClick.AddListener(() => { Debug.LogError("SceneID " + sceneId + " replyID " + v); EventDispatcher.TriggerEvent <int, int>(EventConst.ClickFriendCircleItemReplyClick, sceneId, v); _replySelect.gameObject.SetActive(false); }); } _replySelect.gameObject.SetActive(true); }
public string SetComment(FriendCircleVo info) { string str = ""; List <int> hasSelectIds = TravelSelects(info.SelectIds); str = TravelComment(hasSelectIds); _travelindex = 0; int selectIndex = 1; List <int> comments = new List <int>(); List <int> selectIds = new List <int>(); selectIds.AddRange(info.SelectIds); bool showReplyBtn = false; List <FriendCircleRulePB> lastComments = new List <FriendCircleRulePB>(); bool hasComment = false; _replyIds = new List <int>(); bool isShowBtn = IsShowReplyBtn(hasSelectIds); _replyBtn.gameObject.SetActive(isShowBtn); //_replyBtn.gameObject.SetActive(showReplyBtn); _replyBtn.transform.parent.gameObject.SetActive(isShowBtn);//隐藏时间 str = ParsingCommentStr(str); _otherComment.text = str; _otherCommentBg.gameObject.SetActive(str != ""); CheckNpcReply(info.curOperateTime); Invoke("AddText", 0.1f); return(str); }
public void AddFriendCircleData(FriendCircleVo vo) { if (_userFriendCircleList.Contains(vo)) { return; } if (_userFriendCircleList.Find((m) => { return(m.SceneId == vo.SceneId); }) != null) { return; } _userFriendCircleList.Add(vo); }
public void UpdateData(List <FriendCircleVo> data) { // data.Sort(); //_selectSceneId _data = data; FriendCircleVo frindData = _data.Find(item => { return(item.SceneId == _selectSceneId); }); // _selectObj.GetComponent<FriendsCircleItem>().SetData(data[1]); _selectObj.GetComponent <FriendsCircleItem>().SetComment(frindData); // _loopRect. // _loopRect.content.localPosition = new Vector3(_loopRect.content.localPosition.x, _loopRect.content.localPosition.y+40, _loopRect.content.localPosition.z); // _loopRect.RefreshCells(); //_loopRect.ClearCells(); //ShowList(); // _loopRect.Rebuild(CanvasUpdate.Prelayout); }
private void SetFriendCircleData(RepeatedField <UserFriendCirclePB> res) { if (_userFriendCircleList == null) { _userFriendCircleList = new List <FriendCircleVo>(); } else { _userFriendCircleList.Clear(); } List <int> ids = new List <int>(); foreach (var v in res) { var friendCircleInfo = new FriendCircleVo() { UserId = v.UserId, SceneId = v.SceneId, PublishState = v.PubState == 1, CreateTime = v.CreateTime, PublishTime = v.PubTime, curOperateSelectID = -1, curOperateTime = 0, SelectIds = new List <int>(), }; if (v.SelectIds.Count > 0) { friendCircleInfo.SelectIds.AddRange(v.SelectIds); } _userFriendCircleList.Add(friendCircleInfo); ids.Add(v.SceneId); } LoadFcRulesByIds(ids); //LoadFcFinishedCallback(); }
public void SetData(FriendCircleVo info) { Debug.Log("setData FriendsCircleItem1 " + info.SceneId); CancelInvoke("DelayCheckNpcReply"); Debug.Log("setData FriendsCircleItem2 " + info.SceneId); isSetHeight = false; _info = info; //Debug.Log("SetData sceneID " + info.SceneId+ " "+info.friendCircleRuleInfo.friendCircleSceneInfo.TitleContent); _commentTxt.text = Util.GetNoBreakingString(info.FriendCircleRuleInfo.friendCircleSceneInfo.TitleContent); _headImage.texture = ResourceManager.Load <Texture>(info.HeadPath, ModuleConfig.MODULE_PHONE); _nameFC.text = info.Sender; _lastTimeTxt.text = info.StateTimeFormat; _lastTimeTxt.gameObject.SetActive(false); string bgId = info.FriendCircleRuleInfo.friendCircleSceneInfo.BackgroundId; Debug.Log("bgid " + bgId); if (bgId == "0" || bgId == "") { transform.Find("BgImg").gameObject.SetActive(false); } else { // Debug.Log("info.DefaultRule.PicId=1"); _commentBg.texture = ResourceManager.Load <Texture>("Phone/FCBackGround/" + bgId, ModuleConfig.MODULE_PHONE); // _commentBg.SetNativeSize(); transform.Find("BgImg").gameObject.SetActive(true); } var str = SetComment(info); CheckNpcReply(info.curOperateTime); // Invoke("AddText",0.1f); }
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(); }); }