Ejemplo n.º 1
0
        /// <summary>
        /// 设置用户信息
        /// </summary>
        /// <param name="overinfo">总结算给的用户信息</param>
        public void SetUserInfo(ISFSObject overinfo)
        {
            var userSeat = overinfo.GetInt("seat");
            var userInfo = App.GetGameData <GlobalData>().GetUserInfo(userSeat);

            if (userInfo == null)
            {
                throw new Exception("GlobalData里没有相关座位用户信息");
            }

            //名字
            UserName.text = userInfo.GetUtfString(RequestKey.KeyName);

            if (userInfo.ContainsKey(RequestKey.KeyId))
            {
                IdLabel.text = "ID:" + userInfo.GetInt(RequestKey.KeyId).ToString(CultureInfo.InvariantCulture);
            }

            //头像
            DDzUtil.LoadRealHeadIcon(userInfo.GetUtfString("avatar"), userInfo.GetShort("sex"), UserIcon);

            //单局最高得分
            BestScore.text = overinfo.GetInt("max").ToString(CultureInfo.InvariantCulture);

            //胜负局数
            WinAndLose.text = overinfo.GetInt("win") + "胜" + overinfo.GetInt("lost") + "负";

            //总积分
            AllScore.text = overinfo.GetInt("gold").ToString(CultureInfo.InvariantCulture);

            if (overinfo.ContainsKey("boom"))
            {
                BombNum.text = overinfo.GetInt("boom").ToString(CultureInfo.InvariantCulture);
            }


            FzSprite.SetActive(false);
            BigWinner.SetActive(false);
            if (overinfo.ContainsKey(RequestKey.KeyId))
            {
                var userid = overinfo.GetInt(RequestKey.KeyId);

                LocalPosLabel.text = GpsInfListener.GetContryInfo(userid);

                FzSprite.SetActive(userid == App.GetGameData <GlobalData>().GetOwerId);
            }
        }
Ejemplo n.º 2
0
        //--------------------------------end

        /// <summary>
        /// 根据缓存的信息刷新用户信息ui
        /// </summary>
        public override void RefreshUiInfo()
        {
            if (UserDataTemp != null)
            {
                if (UserDataTemp.ContainsKey(RequestKey.KeyName))
                {
                    NameLabel.text = UserDataTemp.GetUtfString(RequestKey.KeyName);
                }

                if (UserDataTemp.ContainsKey(RequestKey.KeyId))
                {
                    IdLabel.text = UserDataTemp.GetInt(RequestKey.KeyId).ToString(CultureInfo.InvariantCulture);
                }


                short sex = 0;
                if (UserDataTemp.ContainsKey(NewRequestKey.KeySex))
                {
                    sex = UserDataTemp.GetShort(NewRequestKey.KeySex);
                }

                if (UserDataTemp.ContainsKey(NewRequestKey.KeyAvatar))
                {
                    DDzUtil.LoadRealHeadIcon(UserDataTemp.GetUtfString(NewRequestKey.KeyAvatar), sex, HeadTexture);
                }
                else
                {
                    DDzUtil.LoadDefaultHeadIcon(sex, HeadTexture);
                }

                if (UserDataTemp.ContainsKey(NewRequestKey.KeyTtGold))
                {
                    ScoreLabel.text =
                        UserDataTemp.GetLong(NewRequestKey.KeyTtGold).ToString(CultureInfo.InvariantCulture);
                }

                if (!App.GetGameData <GlobalData>().IsStartGame &&
                    UserDataTemp.ContainsKey(RequestKey.KeyState))
                {
                    GameReadySp.gameObject.SetActive(UserDataTemp.GetBool(RequestKey.KeyState));
                }
            }
        }
Ejemplo n.º 3
0
        //显示GpsInfo
        public void OnShowGpsInfo()
        {
            var leftSeat  = App.GetGameData <GlobalData>().GetLeftPlayerSeat;
            var rightSeat = App.GetGameData <GlobalData>().GetRightPlayerSeat;

            if (!_userinfoDic.ContainsKey(leftSeat) || !_userinfoDic.ContainsKey(rightSeat))
            {
                YxMessageBox.Show(Infostr1);
                return;
            }

            GpsUiGob.SetActive(true);

            DDzUtil.LoadRealHeadIcon(_userinfoDic[leftSeat].HeadImgAvatar, _userinfoDic[leftSeat].Sex, HeadTextureLeft);
            DDzUtil.LoadRealHeadIcon(_userinfoDic[rightSeat].HeadImgAvatar, _userinfoDic[rightSeat].Sex, HeadTextureRight);

            NameLabelLeft.text  = _userinfoDic[leftSeat].Name;
            NameLabelRight.text = _userinfoDic[rightSeat].Name;

            foreach (var seat in _userinfoDic.Keys)
            {
                if (seat == leftSeat)
                {
                    /*                 LeftGpsInfo.text = string.Format("IP:{0}\nID:{1}\n所在地:{2}\n{3}", _userinfoDic[seat].Ip,
                     *                   _userinfoDic[seat].Id, _userinfoDic[seat].Country, (_userinfoDic[seat].GpsX!=-1f) ? "已经提供位置信息" : "未提供位置信息\n请开启位置服务,并给予应用相应权限");*/


                    LeftGpsInfo.text = string.Format("所在地:{0}\n{1}",
                                                     _userinfoDic[seat].Country, (_userinfoDic[seat].GpsX != -1f) ? "已经提供位置信息" : "未提供位置信息");
                }
                else if (seat == rightSeat)
                {
/*                    RightGpsInfo.text = string.Format("IP:{0}\nID:{1}\n所在地:{2}\n{3}", _userinfoDic[seat].Ip,
 *                      _userinfoDic[seat].Id, _userinfoDic[seat].Country, (_userinfoDic[seat].GpsX != -1f) ? "已经提供位置信息" : "未提供位置信息\n请开启位置服务,并给予应用相应权限");*/

                    RightGpsInfo.text = string.Format(" 所在地:{0}\n{1}",
                                                      _userinfoDic[seat].Country, (_userinfoDic[seat].GpsX != -1f) ? "已经提供位置信息" : "未提供位置信息");
                }
            }

            if (_userinfoDic[leftSeat].GpsX == -1 || _userinfoDic[rightSeat].GpsX == -1)
            {
                DistanceLabel.text = "距离:0 米";
                return;
            }

            var distance = Distince(_userinfoDic[leftSeat].GpsX, _userinfoDic[leftSeat].GpsY, _userinfoDic[rightSeat].GpsX, _userinfoDic[rightSeat].GpsY);

            string des = "";

            if (distance < 1000)
            {
                if (distance < 100)
                {
                    des = "<=100m";
                }
                else
                {
                    des = string.Format("距离:{0:F}米", distance);
                }
            }
            else
            {
                des = string.Format("距离:{0:F} 千米", distance / 1000f);
            }
            DistanceLabel.text = des;
        }