public static void Raise(this OnClientPacketReceived @event, object sender, ClientPacketEventArgs e) { if (@event != null) { @event(sender, e); } }
/// <summary> /// Process a single incoming packet. Returns whether we should keep processing packets or not. /// </summary> private bool ProcessListenerPacket(Buffer buffer, IPEndPoint ip) { #if DEBUG Debug.Log("[Client][TcpProtocol:ProcessListenerPacket()] - Processing. Status: " + Status); #endif // Verification step must be passed first if (Status == ConnectionStatus.Verifying) { BinaryReader reader = buffer.BeginReading(); if (buffer.size == 0) { return(true); } int packetID = reader.ReadByte(); Packet response = (Packet)packetID; if (response == Packet.ResponseID) { if (VerifyResponseID(response, reader)) { #if DEBUG Debug.Log("[Client][TcpProtocol:ProcessListenerPacket()] - Verified. Id: " + Id); #endif return(true); } #if DEBUG Debug.Log("[Client][TcpProtocol:ProcessListenerPacket()] - Not Verified."); #endif return(false); } } else if (Status == ConnectionStatus.Connected) { #if DEBUG Debug.Log("[Client][TcpProtocol:ProcessListenerPacket()] - Packet received."); #endif if (OnClientPacketReceived != null) { OnClientPacketReceived.Invoke(buffer, ip); } } #if DEBUG Debug.Log("[Client][TcpProtocol:ProcessListenerPacket()] - Processed. Status: " + Status); #endif return(true); }