public void OnMessageReceived(IKingBuffer kingBuffer) { switch (kingBuffer.ReadMessagePacket <MyPackets>()) { case MyPackets.PlayerPositionsArray: var lengthArr = kingBuffer.ReadInteger(); Debug.Log($"Got positions array data num : {lengthArr}"); for (int i = 0; i < lengthArr; i++) { var playerid = kingBuffer.ReadInteger(); if (!netPlayersDictionary.ContainsKey(playerid)) { netPlayersDictionary.Add(playerid, new NetPlayer()); } netPlayersDictionary[playerid].X = kingBuffer.ReadFloat(); netPlayersDictionary[playerid].Y = kingBuffer.ReadFloat(); netPlayersDictionary[playerid].Z = kingBuffer.ReadFloat(); } break; } }
/// <summary> /// Method responsible for execute the callback of on message received handler. /// </summary> /// <param name="client">The client instance.</param> /// <param name="kingBuffer">The king buffer from received message.</param> private void OnMessageReceived(IClient client, IKingBuffer kingBuffer) { try { switch (kingBuffer.ReadMessagePacket <MyPackets>()) { case MyPackets.PlayerPosition: float x = kingBuffer.ReadFloat(); float y = kingBuffer.ReadFloat(); float z = kingBuffer.ReadFloat(); Console.WriteLine($"Got position packet : {x} | {y} | {z}"); _networkPlayersDictionary[client].X = x; _networkPlayersDictionary[client].Y = y; _networkPlayersDictionary[client].Z = z; _networkPlayersDictionary[client].Moved = true; break; } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to specific connected client. /// </summary> /// <param name="client">The client instance.</param> /// <param name="kingBuffer">The king buffer of received message.</param> public void SendMessage(IClient client, IKingBuffer kingBuffer) { try { client.SendMessage(kingBuffer); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to connected server. /// </summary> /// <param name="kingBuffer">The king buffer to send message.</param> public void SendMessage(IKingBuffer kingBuffer) { try { _networkListener.SendMessage(kingBuffer); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to connected server. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public override void SendMessage(IKingBuffer kingBuffer) { try { _stream.BeginWrite(kingBuffer.ToArray(), 0, kingBuffer.Length(), null, null); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of message received from server in client. /// </summary> /// <param name="kingBuffer">The king buffer from received message.</param> private static void OnMessageReceived(IKingBuffer kingBuffer) { try { _messagesReceived++; _dataReceived += kingBuffer.Length(); _bufferLength = kingBuffer.Length(); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to all connected client minus one specific client. /// </summary> /// <param name="client">The client instance.</param> /// <param name="kingBuffer">The king buffer of received message.</param> public void SendMessageToAllMinus(IClient client, IKingBuffer kingBuffer) { try { foreach (var clientToSend in GetAllClients().Where(c => c.IsConnected && c.Id != client.Id)) { SendMessage(clientToSend, kingBuffer); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to all connected client. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public void SendMessageToAll(IKingBuffer kingBuffer) { try { foreach (var client in GetAllClients().Where(c => c.IsConnected)) { SendMessage(client, kingBuffer); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of message received from client in server. /// </summary> /// <param name="client">The client instance.</param> /// <param name="kingBuffer">The king buffer from received message.</param> private static void OnMessageReceived(IClient client, IKingBuffer kingBuffer) { try { _server.SendMessage(client, kingBuffer); _messagesReceived++; _dataReceived += kingBuffer.Length(); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for send message to client. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public void SendMessage(IKingBuffer kingBuffer) { try { if (IsConnected) { _stream.Write(kingBuffer.ToArray(), 0, kingBuffer.Length()); _stream.Flush(); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of message received from server in client. /// </summary> /// <param name="kingBuffer">The king buffer from received message.</param> private static void OnMessageReceived(IKingBuffer kingBuffer) { try { switch (kingBuffer.ReadMessagePacket <MyPackets>()) { case MyPackets.PacketOne: Console.WriteLine("OnMessageReceived for PacketOne"); break; } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of on message received handler. /// </summary> /// <param name="client">The client instance.</param> /// <param name="kingBuffer">The king buffer from received message.</param> private void OnMessageReceived(IClient client, IKingBuffer kingBuffer) { try { switch (kingBuffer.ReadMessagePacket <MyPackets>()) { case MyPackets.Message: Console.WriteLine($"Received message: {kingBuffer.ReadString()}."); _server.SendMessageToAllMinus(client, kingBuffer); break; } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of message received from client in server. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> private void OnMessageReceived(IKingBuffer kingBuffer) { try { if (_clientPacketHandlers.TryGetValue(kingBuffer.ReadMessagePacket(), out var clientPacketHandler)) { clientPacketHandler(kingBuffer); } else { MessageReceivedHandler(kingBuffer); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary> /// Method responsible for execute the callback of message received from client in server. /// </summary> /// <param name="client">The connected client.</param> /// <param name="kingBuffer">The king buffer received from message.</param> private void OnMessageReceived(IClient client, IKingBuffer kingBuffer) { try { if (_serverPacketHandlers.TryGetValue(kingBuffer.ReadMessagePacket(), out var serverHandler)) { serverHandler(client, kingBuffer); } else if (OnMessageReceivedHandler != null) { OnMessageReceivedHandler(client, kingBuffer); } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } }
/// <summary>Putting stream</summary> /// <param name="buffer">King Buffer</param> internal void Putting(IKingBuffer buffer) { // Serialize all of the scope foreach (var syncPair in _syncsById) { // Write node identifier // Owner always receives ID 0 if (syncPair.Value == this) { buffer.WriteShort(OWNER_ID); } else { buffer.WriteShort(syncPair.Value.SyncId); } // On writing syncPair.Value.InvokeOnWriting(buffer, false); } }
/// <summary>Invoke on writing</summary> /// <param name="buffer">King Buffer</param> /// <param name="full">True is full</param> internal void InvokeOnWriting(IKingBuffer buffer, bool full) { OnWriting.Invoke(buffer, full); }
/// <summary> /// This method is responsible for receive the message from client packet handler. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public abstract void HandleMessageData(IKingBuffer kingBuffer);
public void OnMessageReceived(IKingBuffer kingBuffer) { AddMessage(kingBuffer.ReadString()); }
/// <summary> /// This method is responsible for receive the message from server packet handler. /// </summary> /// <param name="client">The connected client.</param> /// <param name="kingBuffer">The king buffer received from message.</param> public abstract void HandleMessageData(IClient client, IKingBuffer kingBuffer);
/// <summary> /// This method is responsible for receive the message from client packet handler. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public override void HandleMessageData(IKingBuffer kingBuffer) { Console.WriteLine("Received message in MyPacketHandlerOne"); }
/// <summary> /// This method is responsible for receive the message from server packet handler. /// </summary> /// <param name="client">The connected client.</param> /// <param name="kingBuffer">The king buffer received from message.</param> public override void HandleMessageData(IClient client, IKingBuffer kingBuffer) { Console.WriteLine($"OnMessageReceived PacketOne from {client.Id}"); }
/// <summary> /// Method responsible for send message to connected server. /// </summary> /// <param name="kingBuffer">The king buffer of received message.</param> public virtual void SendMessage(IKingBuffer kingBuffer) { }
/// <summary>Catching buffer</summary> /// <param name="buffer">King Buffer</param> internal void Catching(IKingBuffer buffer) { OnReading.Invoke(buffer); }