|
@@ -38,14 +38,14 @@ namespace GFGGame
|
|
|
public void AddFriend(FriendInfoData roleInfo)
|
|
|
{
|
|
|
_friendDic.Add(roleInfo.roleInfo.roleId, roleInfo);
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(true);
|
|
|
}
|
|
|
public void RemoveFriend(long roleId)
|
|
|
{
|
|
|
if (_friendDic.ContainsKey(roleId))
|
|
|
{
|
|
|
_friendDic.Remove(roleId);
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(true);
|
|
|
}
|
|
|
}
|
|
|
public void ChangeFriendInfo(RoleInfoData roleInfo)
|
|
@@ -53,7 +53,7 @@ namespace GFGGame
|
|
|
if (_friendDic.ContainsKey(roleInfo.roleId))
|
|
|
{
|
|
|
_friendDic[roleInfo.roleId].roleInfo = roleInfo;
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(false);
|
|
|
}
|
|
|
}
|
|
|
public void ChangeGiveGiftStates(long roleId, int state)
|
|
@@ -61,7 +61,7 @@ namespace GFGGame
|
|
|
if (_friendDic.ContainsKey(roleId))
|
|
|
{
|
|
|
_friendDic[roleId].giveGiftState = state;
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(false);
|
|
|
}
|
|
|
}
|
|
|
public void ChangeTakeGiftStates(long roleId, int state)
|
|
@@ -69,7 +69,7 @@ namespace GFGGame
|
|
|
if (_friendDic.ContainsKey(roleId))
|
|
|
{
|
|
|
_friendDic[roleId].takeGiftState = state;
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(false);
|
|
|
}
|
|
|
}
|
|
|
public void ChangeGiveTakeGiftStates(long roleId, int state, int takeState)
|
|
@@ -78,12 +78,13 @@ namespace GFGGame
|
|
|
{
|
|
|
_friendDic[roleId].giveGiftState = state;
|
|
|
_friendDic[roleId].takeGiftState = takeState;
|
|
|
- UpdateFriendList();
|
|
|
+ UpdateFriendList(false);
|
|
|
}
|
|
|
}
|
|
|
- private void UpdateFriendList()
|
|
|
+ private void UpdateFriendList(bool sort)
|
|
|
{
|
|
|
_list = _friendDic.Values.ToList<FriendInfoData>();
|
|
|
+ if (!sort) return;
|
|
|
_list.Sort((FriendInfoData a, FriendInfoData b) =>
|
|
|
{
|
|
|
long count = b.roleInfo.offlineTimeSec - a.roleInfo.offlineTimeSec;
|