public void SendServerMessageToGroup(NetMessage message, ConnectionGroup group) { int messageLength = message.Encode(); byte error; // Send it out foreach (ClientData client in clients) { if (group == ConnectionGroup.lobby && client.inGame) { continue; } if (group == ConnectionGroup.game && !client.inGame) { continue; } if (client.connectionID == -1) { if (message.AlsoExecuteOnServer()) { message.DecodeAndExecute(client); } } NetworkTransport.Send(hostID, client.connectionID, channelID, NetMessage.buffer, messageLength, out error); } }
public void SendClientMessage(NetMessage message) { int messageLength = message.Encode(); if (isServer) { message.DecodeAndExecute(GetThisServerClient()); } else { byte error; NetworkTransport.Send(hostID, serverConnectionID, channelID, NetMessage.buffer, messageLength, out error); if (error != 0) { SceneManager.LoadScene(0); } } }
void HandleDataMessage(int connectionId) { NetMessage message = NetMessageMaintainer.GetFromRecognizeByte(NetMessage.buffer[0]); message.DecodeAndExecute(GetClientById(connectionId)); }