MCPcopy
hub / github.com/4ian/GDevelop / sendCustomMessage

Function sendCustomMessage

Extensions/Multiplayer/messageManager.ts:1396–1436  ·  view source on GitHub ↗
(
      userMessageName: string,
      userMessageData: any // can be a simple string message or a serialized variable.
    )

Source from the content-addressed store, hash-verified

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,

Callers 1

Calls 6

createCustomMessageFunction · 0.85
infoMethod · 0.80
sendDataToFunction · 0.70
pushMessageMethod · 0.65

Tested by

no test coverage detected