Exemple #1
0
    private void CreateFriendCreatureIcon()
    {
        _vFriend vFriends = UserInfo.Instance.FriendInfo.vFriends;

        if (vFriends == null)
        {
            return;
        }

        DestroyFriendCreatureIcon();

        for (int i = 0; i < vFriends.Count; ++i)
        {
            CFriend friendInfo = vFriends[i];
            if (friendInfo == null)
            {
                continue;
            }

            DATA_CREATURE_NEWVER pCreatureData = CDATA_CREATURE_NEWVER.Get(friendInfo.kCreatureID);
            if (pCreatureData.m_iGrade < (int)m_DispatchTableData.RequireGrade)      // 필요등급 검사
            {
                continue;
            }

            DispatchTeamItemFriend friendItem = UIResourceMgr.CreatePrefab <DispatchTeamItemFriend>(BUNDLELIST.PREFABS_UI_DISPATCH, m_FriendListGrid.transform, "DispatchTeamItemFriend");
            friendItem.Init(friendInfo, pCreatureData);
            UIEventListener.Get(friendItem.gameObject).onClick = OnClickFriendItem;

            _FriendList.Add(friendItem);
        }

        FriendListResetPosition();
    }
Exemple #2
0
    void GetData()
    {
        string             sData  = "";
        List <CBaseObject> lstObj = m_User.FriendMgr.GetList();

        foreach (CBaseObject obj in lstObj)
        {
            CFriend Friend = (CFriend)obj;

            string sRow = "";
            sRow += string.Format("\"id\":\"{0}\",", Friend.Id);
            sRow += string.Format("\"Friend_id\":\"{0}\",", Friend.Friend_id);
            CUser UF = (CUser)Global.GetCtx(Session["TopCompany"].ToString()).UserMgr.Find(Friend.Friend_id);
            if (UF == null)
            {
                continue;
            }
            string sIcon = string.Format("<img src='../images/{0}' width='16' height='16'/>&nbsp;&nbsp;", UF.IsOnline()?"on.png":"off.png");
            sRow += string.Format("\"Friend\":\"{0}{1}\",", sIcon, UF.Name);
            sRow += string.Format("\"group\":\"{0}\",", Friend.IsStrange?"陌生人":"我的好友");

            sRow   = "{" + sRow + "},";
            sData += sRow;
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, lstObj.Count);

        Response.Write(sJson);
    }
Exemple #3
0
    void Add()
    {
        string fid = Request["fid"];

        if (string.IsNullOrEmpty(fid))
        {
            Response.Write("请选择用户!");
            return;
        }
        Guid guidFid = new Guid(fid);

        if (guidFid == m_User.Id)
        {
            Response.Write("不能添加自己为好友!");
            return;
        }
        CFriend Friend = m_User.FriendMgr.FindByFriendId(guidFid);

        if (Friend != null) //可能是从陌生人变成好友
        {
            Friend.IsStrange = false;
            m_User.FriendMgr.Update(Friend);
            if (!m_User.FriendMgr.Save(true))
            {
                Response.Write("添加失败!");
                return;
            }
        }
        else
        {
            Friend           = new CFriend();
            Friend.Ctx       = Global.GetCtx(Session["TopCompany"].ToString());
            Friend.B_User_id = m_User.Id;
            Friend.Friend_id = guidFid;
            Friend.IsStrange = false;

            m_User.FriendMgr.AddNew(Friend);
            if (!m_User.FriendMgr.Save(true))
            {
                Response.Write("添加失败!");
                return;
            }
        }
    }
Exemple #4
0
    //获取好友状态及消息数
    public void GetFriendState()
    {
        CMessageMgr        MessageMgr = Global.GetCtx(Session["TopCompany"].ToString()).MessageMgr;
        string             sData      = "";
        List <CBaseObject> lstObj     = m_User.FriendMgr.GetList();
        bool bHasNewMsg = false;

        foreach (CBaseObject obj in lstObj)
        {
            CFriend Friend = (CFriend)obj;

            string sRow = "";
            sRow += string.Format("\"id\":\"{0}\",", Friend.Id);
            sRow += string.Format("\"Friend_id\":\"{0}\",", Friend.Friend_id);
            CUser UF = (CUser)Global.GetCtx(Session["TopCompany"].ToString()).UserMgr.Find(Friend.Friend_id);
            if (UF == null)
            {
                continue;
            }
            string sIcon  = string.Format("<img src='../images/{0}' width='16' height='16'/>&nbsp;&nbsp;", UF.IsOnline()?"on.png":"off.png");
            string sCount = "";
            int    iCount = MessageMgr.GetNewCount(UF.Id, m_User.Id);
            if (iCount > 0)
            {
                bHasNewMsg = true;
                sCount     = string.Format("({0})", iCount);
            }
            sRow += string.Format("\"Friend\":\"{0}{1}{2}\",", sIcon, UF.Name, sCount);
            sRow += string.Format("\"group\":\"{0}\",", Friend.IsStrange?"陌生人":"我的好友");

            sRow   = "{" + sRow + "},";
            sData += sRow;
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\",\"HasNewMsg\":\"{2}\"}}"
                                     , sData, lstObj.Count, bHasNewMsg?"1":"0");

        Response.Write(sJson);
    }
Exemple #5
0
    //发送消息
    void Send()
    {
        string sMsg = Request["msg"];

        if (string.IsNullOrEmpty(sMsg))
        {
            return;
        }
        //消息处理
        sMsg = sMsg.Replace("\n", "<br>");
        string sHead = "<span style='color:Blue'>" + m_User.Name + " " + DateTime.Now.ToString() + "</span><br>";

        sMsg = sHead + sMsg;

        CMessage msg = new CMessage();

        msg.Ctx      = Global.GetCtx(Session["TopCompany"].ToString());
        msg.Content  = sMsg;
        msg.Sender   = m_User.Id;
        msg.Receiver = m_FriendUser.Id;

        CMessageMgr MessageMgr = Global.GetCtx(Session["TopCompany"].ToString()).MessageMgr;

        if (!MessageMgr.AddNew(msg, true))
        {
        }
        //如果发送者不在接收者的好友里,则添加到接收者的陌生人里
        if (m_FriendUser.FriendMgr.FindByFriendId(m_User.Id) == null)
        {
            CFriend Friend = new CFriend();
            Friend.Ctx       = Global.GetCtx(Session["TopCompany"].ToString());
            Friend.B_User_id = m_FriendUser.Id;
            Friend.Friend_id = m_User.Id;
            Friend.IsStrange = true;

            m_FriendUser.FriendMgr.AddNew(Friend, true);
        }
    }
Exemple #6
0
    //===================================================================================
    //
    // Default Method
    //
    //===================================================================================

    //===================================================================================
    //
    // Method
    //
    //===================================================================================
    public void Init(CFriend friendInfo, DATA_CREATURE_NEWVER pCreatureData)
    {
        m_FriendInfo = friendInfo;

        _vCharNo UsedFriendKeyList = UserInfo.Instance.DispatchInfoAck.vUsedFriendKey;

        bDispatching = false;
        m_CoolTimeObj.SetActive(false);

        for (int i = 0; i < UsedFriendKeyList.Count; ++i)
        {
            if (friendInfo.kFriendCharNo == UsedFriendKeyList[i])
            {
                // 쿨타임 표시.
                bDispatching = true;
                m_CoolTimeObj.SetActive(true);
                break;
            }
        }

        m_CreatureIcon.SetIcon(friendInfo.kCreatureID, enCreatureIcon_Type.Dispatch);
        //m_CreatureIcon.m_OnClickEvent += evt;

        m_CreatureIcon.m_IsNew = false;
        //icon.m_kCreatureKey = kCreatureKey;
        m_CreatureIcon.m_iGrade = pCreatureData.m_iGrade;
        m_CreatureIcon.m_szName = StringTableManager.GetData(pCreatureData.iCreatureName);
        //icon.m_Reinforce = pMy.GetForceCount();

        m_CreatureIcon.m_iCreatureTID = pCreatureData.m_iCreatureTID;
        m_CreatureIcon.m_szIcon       = pCreatureData.m_szIcon;
        //icon.m_iLevel = pMy.GetItemLV();
        m_CreatureIcon.m_enCreatureArmy = pCreatureData.m_enCreatureArmy; //병과
        m_CreatureIcon.m_SellCheck      = false;
        m_CreatureIcon.m_iSellCost      = pCreatureData.m_iSellCost;
        m_CreatureIcon.m_kLock          = 0;

        // vip정보 셋팅.
        {
            if (CDATA_VIP.GetCount() < 1)
            {
                CDATA_VIP.Load();
            }

            DATA_VIP vipData = CDATA_VIP.Get(friendInfo.kVIPLevel);
            if (vipData == null)
            {
                return;
            }

            m_VipSprite.spriteName = vipData.szGradeImg;
            m_VipLabel.text        = string.Format(StringTableManager.GetData(4984), (int)friendInfo.kVIPLevel);
        }

        // 친구 레벨, 아이디 셋팅.
        {
            m_UserLevelLabel.text = string.Format("{0}{1}", StringTableManager.GetData(12), friendInfo.kCharLevel);
            m_UserNameLabel.text  = friendInfo.kCharName;
        }

        // 접속시간 셋팅.
        {
            if (friendInfo.kFriendState == _enFriendState.eFriendState_OnLine)
            {
                m_LastLoginTimeLabel.text = StringTableManager.GetData(3473);
            }
            else if (friendInfo.kFriendState == _enFriendState.eFriendState_OffLine)
            {
                TimeSpan ts    = TimeManager.Instance.GetServerTime() - friendInfo.kGameLastLogonTime.GetDateTime();
                int      iDay  = ts.Days;
                int      iHour = ts.Hours;
                int      iMin  = ts.Minutes;

                if (iDay > 0)
                {
                    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iDay, StringTableManager.GetData(3472), StringTableManager.GetData(3483));
                }
                else if (iHour > 0)
                {
                    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iHour, StringTableManager.GetData(3471), StringTableManager.GetData(3483));
                }
                else if (iMin > 0)
                {
                    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iMin, StringTableManager.GetData(3482), StringTableManager.GetData(3483));
                }
                else
                {
                    // 1분전접속.
                    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), 1, StringTableManager.GetData(3482), StringTableManager.GetData(3483));
                }
            }

            //TimeSpan ts = TimeManager.Instance.GetServerTime() - friendInfo.kGameLastLogonTime.GetDateTime();
            //int iDay = ts.Days;
            //int iHour = ts.Hours;
            //int iMin = ts.Minutes;

            //if (iDay > 0)
            //    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iDay, StringTableManager.GetData(3472), StringTableManager.GetData(3483));
            //else if (iHour > 0)
            //    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iHour, StringTableManager.GetData(3471), StringTableManager.GetData(3483));
            //else if (iMin > 0)
            //    m_LastLoginTimeLabel.text = string.Format(StringTableManager.GetData(3470), iMin, StringTableManager.GetData(3482), StringTableManager.GetData(3483));
            //else
            //{
            //    m_LastLoginTimeLabel.text = StringTableManager.GetData(3473);
            //}
        }

        SetActiveSelect(false);
    }