예제 #1
0
    //
    public void OnFriendsLstChange()
    {
        foreach (var item in pairId2Instance.Values)
        {
            item.OnExit();
        }
        pairId2Instance.Clear();
        List <int> friends = XMLSaver.saveData.GetFriendsLst(curUserId);

        if (init2NameDic == null)
        {
            init2NameDic = new Dictionary <char, List <int> >();
            for (int i = 0; i < 26; i++)
            {
                init2NameDic.Add((char)(i + 65), new List <int>());
            }
            init2NameDic.Add('#', new List <int>());
        }
        else
        {
            foreach (var item in init2NameDic.Values)
            {
                item.Clear();
            }
        }
        for (int i = 0; i < friends.Count; i++)
        {
            int          friendId = friends[i];
            int          id       = GetPairID(curUserId, friendId);
            ChatInstance instance = new ChatInstance();
            instance.OnInit(friendId);
            pairId2Instance.Add(id, instance);

            AccountSaveData data = XMLSaver.saveData.GetAccountData(friendId);
            char            c;
            if (!string.IsNullOrEmpty(data.nickname))
            {
                c = Utils.GetSpellCode(data.nickname)[0];
            }
            else if (!string.IsNullOrEmpty(data.realName))
            {
                c = Utils.GetSpellCode(data.realName)[0];
            }
            else
            {
                c = '#';
            }
            init2NameDic[c].Add(friendId);
            //char c = Utils.GetSpellCode(data);
        }
        RefreshMsg();
    }
예제 #2
0
    //
    public void OnEnter(string name)
    {
        id2Name.Clear();
        foreach (var item in name2Id.Keys)
        {
            id2Name.Add(name2Id[item], item);
        }
        pairId2Instance.Clear();
        List <string> friends = XMLSaver.saveData.GetFriendsLst(name);

        for (int i = 0; i < friends.Count; i++)
        {
            string       otherName = friends[i];
            int          id        = GetPairID(curName, friends[i]);
            ChatInstance instance  = new ChatInstance();
            instance.OnInit(name, otherName, id);
            pairId2Instance.Add(id, instance);
        }
        Refresh();
    }