(
userMessageName: string,
userMessageData: any // can be a simple string message or a serialized variable.
)
| 1394 | }; |
| 1395 | |
| 1396 | const sendCustomMessage = ( |
| 1397 | userMessageName: string, |
| 1398 | userMessageData: any // can be a simple string message or a serialized variable. |
| 1399 | ) => { |
| 1400 | const connectedPeerIds = gdjs.multiplayerPeerJsHelper.getAllPeers(); |
| 1401 | const currentPlayerNumber = gdjs.multiplayer.getCurrentPlayerNumber(); |
| 1402 | const { messageName, messageData } = createCustomMessage({ |
| 1403 | userMessageName, |
| 1404 | userMessageData, |
| 1405 | senderPlayerNumber: currentPlayerNumber, |
| 1406 | }); |
| 1407 | const acknowledgmentMessageName = |
| 1408 | createAcknowledgeCustomMessageNameFromCustomMessage(messageName); |
| 1409 | addExpectedMessageAcknowledgement({ |
| 1410 | originalMessageName: messageName, |
| 1411 | originalData: messageData, |
| 1412 | expectedMessageName: acknowledgmentMessageName, |
| 1413 | otherPeerIds: connectedPeerIds, // Expect acknowledgment from all peers. |
| 1414 | // custom messages cannot be reverted. |
| 1415 | shouldCancelMessageIfTimesOut: false, |
| 1416 | }); |
| 1417 | debugLogger.info( |
| 1418 | `Sending custom message ${userMessageName} with data ${JSON.stringify( |
| 1419 | userMessageData |
| 1420 | )}.` |
| 1421 | ); |
| 1422 | sendDataTo(connectedPeerIds, messageName, messageData); |
| 1423 | |
| 1424 | // If we are the host, we can consider this messaged as received |
| 1425 | // and add it to the list of custom messages to process on top of the messages received. |
| 1426 | if (gdjs.multiplayer.isCurrentPlayerHost()) { |
| 1427 | const messagesList = |
| 1428 | gdjs.multiplayerPeerJsHelper.getOrCreateMessagesList(messageName); |
| 1429 | messagesList.pushMessage( |
| 1430 | messageData, |
| 1431 | gdjs.multiplayerPeerJsHelper.getCurrentId() |
| 1432 | ); |
| 1433 | // The message is now automatically added to the list of messages to process, |
| 1434 | // and will be removed at the end of the frame. |
| 1435 | } |
| 1436 | }; |
| 1437 | |
| 1438 | const sendVariableCustomMessage = ( |
| 1439 | userMessageName: string, |
no test coverage detected