private void OnClientDisconnected(WebSocketClient client) { if (client.GetPlayerObject() != null) { PublishObjectDespawnedToChildren(client.GetPlayerObject()); } }
private void OnClientPositionUpdateReceived(WebSocketClient client, float x, float y) { if (client.GetPlayerObject() != null) { client.GetPlayerObject().SetPosX(x); client.GetPlayerObject().SetPosY(y); PublishObjectUpdatedToChildren(client.GetPlayerObject()); } }
private void OnClientReady(WebSocketClient client, string name, string color) { GameObject playerObject = physicsWorld.CreateObject(name, 2, color); client.SetPlayerObject(playerObject); playerObject.SetIsPlayerObject(true); foreach (GameObject gameObject in physicsWorld.GetGameObject()) { SendMessageToClient(client, ParameterMap.Stringify("type", "3", "id", gameObject.GetIdentifier(), "x", gameObject.GetPosXAsString(), "y", gameObject.GetPosYAsString(), "size", gameObject.GetSizeAsString(), "name", gameObject.GetName(), "color", gameObject.GetColor())); } if (client.GetPlayerObject() != null) { SendMessageToClient(client, ParameterMap.Stringify("type", "2", "id", client.GetPlayerObject().GetIdentifier())); lock (clients) { foreach (WebSocketClient otherClient in clients) { if (otherClient != client) { SendMessageToClient(otherClient, ParameterMap.Stringify("type", "3", "id", client.GetPlayerObject().GetIdentifier(), "x", client.GetPlayerObject().GetPosXAsString(), "y", client.GetPlayerObject().GetPosYAsString(), "size", client.GetPlayerObject().GetSizeAsString(), "name", client.GetPlayerObject().GetName(), "color", client.GetPlayerObject().GetColor())); } } } } }