feat : 존 기능 초기 커밋
This commit is contained in:
47
MMOTestServer/MMOserver/Game/Channel/UserContainer.cs
Normal file
47
MMOTestServer/MMOserver/Game/Channel/UserContainer.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using MMOserver.Game.Service;
|
||||
using ServerLib.Service;
|
||||
|
||||
namespace MMOserver.Game.Channel;
|
||||
|
||||
public abstract class UserContainer
|
||||
{
|
||||
protected readonly Dictionary<int, Player> users = new();
|
||||
|
||||
public virtual void AddUser(int userId, Player player)
|
||||
{
|
||||
users.Add(userId, player);
|
||||
}
|
||||
|
||||
public virtual void RemoveUser(int userId)
|
||||
{
|
||||
users.Remove(userId);
|
||||
}
|
||||
|
||||
public virtual int HasUser(int userId)
|
||||
{
|
||||
return users.ContainsKey(userId) ? userId : -1;
|
||||
}
|
||||
|
||||
public virtual Player? GetPlayer(int userId)
|
||||
{
|
||||
users.TryGetValue(userId, out Player? player);
|
||||
return player;
|
||||
}
|
||||
|
||||
public virtual IEnumerable<Player> GetPlayers()
|
||||
{
|
||||
return users.Values;
|
||||
}
|
||||
|
||||
public IEnumerable<int> GetConnectUsers()
|
||||
{
|
||||
return users.Keys;
|
||||
}
|
||||
|
||||
public Dictionary<int, Player> GetUsers()
|
||||
{
|
||||
return users;
|
||||
}
|
||||
|
||||
public int UserCount => users.Count;
|
||||
}
|
||||
Reference in New Issue
Block a user