You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
75 lines
1.7 KiB
1 month ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Threading.Tasks;
|
||
|
using ProtoCSStruct;
|
||
|
using Sog;
|
||
|
|
||
|
namespace Friend
|
||
|
{
|
||
|
public class PlayerTableOp : BaseReloadableService
|
||
|
{
|
||
|
private PlayerTable m_table;
|
||
|
|
||
|
public override int GetServiceType()
|
||
|
{
|
||
|
return FriendServiceType.PlayerTableOp;
|
||
|
}
|
||
|
|
||
|
//销毁的时候置空
|
||
|
public override void Dispose()
|
||
|
{
|
||
|
m_table = null;
|
||
|
}
|
||
|
|
||
|
|
||
|
public PlayerTableOp(PlayerTable playerTable)
|
||
|
{
|
||
|
m_table = playerTable;
|
||
|
}
|
||
|
|
||
|
|
||
|
public PlayerInfoFriend GetPlayerInfo(long uid)
|
||
|
{
|
||
|
//是否存在
|
||
|
if(m_table.m_playerTable.ContainsKey(uid))
|
||
|
{
|
||
|
return m_table.m_playerTable[uid];
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
|
||
|
public bool AddPlayerInfo(PlayerInfoFriend playerInfo)
|
||
|
{
|
||
|
if (m_table.m_playerTable.ContainsKey(playerInfo.UserID) == false)
|
||
|
{
|
||
|
m_table.m_playerTable.Add(playerInfo.UserID, playerInfo);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
|
||
|
// 如果要删除player,必须要player offline再删除,否则好友数据可能要下次上线才能更新
|
||
|
//
|
||
|
public bool RemovePlayerInfo(long uid)
|
||
|
{
|
||
|
if (m_table.m_playerTable.ContainsKey(uid) == false)
|
||
|
{
|
||
|
TraceLog.Error("PlayerTableOp.RemovePlayerInfo uid {0} not in table", uid);
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return m_table.m_playerTable.Remove(uid);
|
||
|
}
|
||
|
|
||
|
public int GetObjCount()
|
||
|
{
|
||
|
return m_table.m_playerTable.Count;
|
||
|
}
|
||
|
}
|
||
|
}
|