diff --git a/TrueCraft.API/Server/IMultiplayerServer.cs b/TrueCraft.API/Server/IMultiplayerServer.cs index 65af6f3..8c0e84b 100644 --- a/TrueCraft.API/Server/IMultiplayerServer.cs +++ b/TrueCraft.API/Server/IMultiplayerServer.cs @@ -16,6 +16,7 @@ namespace TrueCraft.API.Server public interface IMultiplayerServer { event EventHandler ChatMessageReceived; + event EventHandler PlayerJoined; IPacketReader PacketReader { get; } IList Clients { get; } diff --git a/TrueCraft.API/Server/PlayerJoinedEventArgs.cs b/TrueCraft.API/Server/PlayerJoinedEventArgs.cs new file mode 100644 index 0000000..88ac1e2 --- /dev/null +++ b/TrueCraft.API/Server/PlayerJoinedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using TrueCraft.API.Networking; + +namespace TrueCraft.API.Server +{ + public class PlayerJoinedEventArgs : EventArgs + { + public IRemoteClient Client { get; set; } + + public PlayerJoinedEventArgs(IRemoteClient client) + { + Client = client; + } + } +} \ No newline at end of file diff --git a/TrueCraft.API/TrueCraft.API.csproj b/TrueCraft.API/TrueCraft.API.csproj index 4b54511..f1459a2 100644 --- a/TrueCraft.API/TrueCraft.API.csproj +++ b/TrueCraft.API/TrueCraft.API.csproj @@ -74,6 +74,7 @@ + diff --git a/TrueCraft/MultiplayerServer.cs b/TrueCraft/MultiplayerServer.cs index bfe239a..71f0267 100644 --- a/TrueCraft/MultiplayerServer.cs +++ b/TrueCraft/MultiplayerServer.cs @@ -16,6 +16,7 @@ namespace TrueCraft public class MultiplayerServer : IMultiplayerServer { public event EventHandler ChatMessageReceived; + public event EventHandler PlayerJoined; public IPacketReader PacketReader { get; private set; } public IList Clients { get; private set; } @@ -125,6 +126,12 @@ namespace TrueCraft ChatMessageReceived(this, e); } + protected internal void OnPlayerJoined(PlayerJoinedEventArgs e) + { + if (PlayerJoined != null) + PlayerJoined(this, e); + } + private void DisconnectClient(IRemoteClient _client) { var client = (RemoteClient)_client;