From c2b7e4b0657cb40b59a8d1201c216a9da02b00a0 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 1 Jan 2015 19:49:53 -0700 Subject: [PATCH] Add PlayerJoined event --- TrueCraft.API/Server/IMultiplayerServer.cs | 1 + TrueCraft.API/Server/PlayerJoinedEventArgs.cs | 15 +++++++++++++++ TrueCraft.API/TrueCraft.API.csproj | 1 + TrueCraft/MultiplayerServer.cs | 7 +++++++ 4 files changed, 24 insertions(+) create mode 100644 TrueCraft.API/Server/PlayerJoinedEventArgs.cs 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;