// 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(); }
// 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(); }