Example #1
0
    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);
    }
Example #2
0
    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);
    }
Example #3
0
 public void AddWeiboData(WeiboVo vo)
 {
     if (_userWeiboList.Contains(vo))
     {
         return;
     }
     if (_userWeiboList.Find((m) => { return(m.SceneId == vo.SceneId); }) != null)
     {
         return;
     }
     _userWeiboList.Add(vo);
 }
Example #4
0
    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;
    }
Example #5
0
        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();
            });
        }