示例#1
0
        /// <summary>
        /// 收到邀请回复信息
        /// </summary>
        /// <param name="data"></param>
        private void ReceiveAskReplyInfo_7_5(INetData data)
        {
            RelationPushAnswerMsg_7_5 msg = new RelationPushAnswerMsg_7_5();

            msg.read(data.GetMemoryStream());
            string action;

            if (msg.answer == 0)
            {
                action = LanguageManager.GetWord("FriendControl.Reject");
            }
            else
            {
                //对方同意加好友
                action = LanguageManager.GetWord("FriendControl.Accept");
                PRelationInfo info = new PRelationInfo();
                info.roleId   = msg.roleId;
                info.sex      = msg.sex;
                info.name     = msg.name;
                info.job      = msg.job;
                info.lvl      = msg.lvl;
                info.vip      = msg.vip;
                info.isOnline = 1;
                info.intimate = 0;
                Singleton <FriendMode> .Instance.AddFriend(info);
            }
            MessageManager.Show(msg.name + action + LanguageManager.GetWord("FriendControl.FriendAsk"));
        }
示例#2
0
        private void SetRelationRoleInfo(GameObject obj, PRelationInfo relation)
        {
            obj.name = obj.name + relation.roleId.ToString();
            NGUITools.FindInChild <UILabel>(obj, "name").text       = relation.name;
            NGUITools.FindInChild <UILabel>(obj, "lvl").text        = relation.lvl.ToString();
            NGUITools.FindInChild <UISprite>(obj, "job").spriteName = GetJobInfo(relation.job);
            NGUITools.FindInChild <UILabel>(obj, "fight").text      = relation.fightpoint.ToString();

            if (relation.vip > 0)
            {
                NGUITools.FindChild(obj, "vip").SetActive(true);
                NGUITools.FindInChild <UILabel>(obj, "vip/vipvalue").text = relation.vip.ToString();
            }
            else
            {
                NGUITools.FindChild(obj, "vip").SetActive(false);
            }

            if (relation.isOnline == 1)
            {
                NGUITools.FindInChild <UILabel>(obj, "name").color  = ColorConst.FONT_LIGHT;
                NGUITools.FindInChild <UILabel>(obj, "lvl").color   = ColorConst.FONT_BLUE;
                NGUITools.FindInChild <UILabel>(obj, "time").color  = ColorConst.FONT_GREEN;
                NGUITools.FindInChild <UILabel>(obj, "fight").color = ColorConst.FONT_BLUE;
            }
            else
            {
                NGUITools.FindInChild <UILabel>(obj, "name").color  = ColorConst.FONT_GRAY;
                NGUITools.FindInChild <UILabel>(obj, "lvl").color   = ColorConst.FONT_GRAY;
                NGUITools.FindInChild <UILabel>(obj, "time").color  = ColorConst.FONT_GRAY;
                NGUITools.FindInChild <UILabel>(obj, "fight").color = ColorConst.FONT_GRAY;
            }

            if (currentUIToggle == friend)
            {
                if (relation.isOnline == 1)
                {
                    obj.transform.FindChild("time").gameObject.SetActive(false);
                    obj.transform.FindChild("button").gameObject.SetActive(true);
                    NGUITools.FindInChild <UILabel>(obj, "button/label").text = "私聊";
                }
                else
                {
                    obj.transform.FindChild("time").gameObject.SetActive(true);
                    obj.transform.FindChild("button").gameObject.SetActive(false);
                }
            }

            if (currentUIToggle == blackList)
            {
                obj.transform.FindChild("time").gameObject.SetActive(false);
                obj.transform.FindChild("button").gameObject.SetActive(true);
                NGUITools.FindInChild <UILabel>(obj, "button/label").text = "移除";
            }
            obj.transform.FindChild("handle").gameObject.SetActive(false);
            obj.SetActive(true);
        }
示例#3
0
 private string getOnlineInfo(PRelationInfo info)
 {
     if (info.isOnline == 1)
     {
         return(LanguageManager.GetWord("FriendView.Online"));
     }
     else
     {
         long s = (long)(Time.time - info.lastLogoutTime);
         return(getTimeDesByS(s));
     }
 }
示例#4
0
 private void SetRelationRoleInfo(GameObject obj, PRelationInfo relation)
 {
     obj.name = obj.name + relation.roleId.ToString();
     NGUITools.FindInChild <UILabel>(obj, "name").text = relation.name;
     if (relation.isOnline == 1)
     {
         NGUITools.FindInChild <UILabel>(obj, "name").color = ColorConst.FONT_LIGHT;
     }
     else
     {
         NGUITools.FindInChild <UILabel>(obj, "name").color = ColorConst.FONT_GRAY;
     }
     obj.SetActive(true);
 }
示例#5
0
 /// <summary>
 /// 增加好友信息
 /// </summary>
 public void AddFriend(PRelationInfo info)
 {
     if (friendsList != null)
     {
         friendsList = new List <PRelationInfo>();
     }
     for (int i = 0; i < friendsList.Count; i++)
     {
         if (friendsList[i].roleId == info.roleId)
         {
             friendsList[i] = info;
             return;
         }
     }
     friendsList.Add(info);
     DataUpdate(FRIEND);
 }
示例#6
0
 /// <summary>
 /// 添加黑名单
 /// </summary>
 /// <param name="info"></param>
 private void AddBlackList(PRelationInfo info)
 {
     if (blacksList != null)
     {
         for (int i = 0; i < blacksList.Count; i++)
         {
             if (blacksList[i].roleId == info.roleId)
             {
                 blacksList[i] = info;
                 return;
             }
         }
     }
     else
     {
         blacksList = new List <PRelationInfo>();
     }
     blacksList.Add(info);
     DataUpdate(BLACKLIST);
 }
示例#7
0
 /// <summary>
 /// 接受好友邀请
 /// </summary>
 /// <param name="roleId">ID</param>
 /// <param name="accpet">接受</param>
 public void AcceptFriend(uint roleId, bool accept)
 {
     if (accept)
     {
         for (int i = 0; i < askList.Count; i++)
         {
             if (askList[i].roleId == roleId)
             {
                 RelationPushAcceptMsg_7_3 msg  = askList[i];
                 PRelationInfo             info = new PRelationInfo();
                 info.roleId   = roleId;
                 info.sex      = msg.sex;
                 info.name     = msg.name;
                 info.job      = msg.job;
                 info.lvl      = msg.lvl;
                 info.vip      = msg.vip;
                 info.isOnline = 1;
                 info.intimate = 0;
                 AddFriend(info);
             }
         }
     }
     DeleteFriendAskInfo(roleId);
 }
示例#8
0
        /// <summary>
        /// 移动好友到黑名单
        /// </summary>
        /// <param name="roleId"></param>
        public void MoveToBlackList(uint roleId)
        {
            //好友列表
            int index = -1;

            if (friendsList != null)
            {
                for (int i = 0; i < friendsList.Count; i++)
                {
                    if (friendsList[i].roleId == roleId)
                    {
                        index = i;
                        AddBlackList(friendsList[i]);
                        break;
                    }
                }
                if (index > -1)
                {
                    friendsList.RemoveAt(index);
                    DataUpdate(FRIEND);
                }
            }

            //附近玩家
            index = -1;
            if (nearByList != null)
            {
                for (int i = 0; i < nearByList.Count; i++)
                {
                    if (nearByList[i].roleId == roleId)
                    {
                        index = i;

                        PRelationInfo info = new PRelationInfo();
                        info.roleId   = nearByList[i].roleId;
                        info.sex      = nearByList[i].sex;
                        info.name     = nearByList[i].name;
                        info.job      = nearByList[i].job;
                        info.lvl      = nearByList[i].lvl;
                        info.isOnline = 1;
                        info.intimate = 0;
                        AddBlackList(info);
                        break;
                    }
                }
                if (index > -1)
                {
                    nearByList.RemoveAt(index);
                    DataUpdate(NEARBY);
                }
            }

            //邀请列表
            index = -1;
            if (askList != null)
            {
                for (int i = 0; i < askList.Count; i++)
                {
                    if (askList[i].roleId == roleId)
                    {
                        index = i;

                        PRelationInfo info = new PRelationInfo();
                        info.roleId   = askList[i].roleId;
                        info.sex      = askList[i].sex;
                        info.name     = askList[i].name;
                        info.job      = askList[i].job;
                        info.lvl      = askList[i].lvl;
                        info.vip      = askList[i].vip;
                        info.isOnline = 1;
                        info.intimate = 0;
                        AddBlackList(info);
                        break;
                    }
                }
                if (index > -1)
                {
                    askList.RemoveAt(index);
                    DataUpdate(ASKLIST);
                }
            }
        }
 public void read(MemoryStream msdata)
 {
     PRelationInfo.readLoop(msdata, friends);
     PRelationInfo.readLoop(msdata, blacks);
 }