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

Function createHeartbeatMessage

Extensions/Multiplayer/messageManager.ts:1925–1949  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1923 const heartbeatMessageNamePrefix = '#heartbeat';
1924 const heartbeatMessageRegex = /#heartbeat#(.+)/;
1925 const createHeartbeatMessage = (): {
1926 messageName: string;
1927 messageData: any;
1928 } => {
1929 // If we create the heartbeat message, we are the host.
1930 // Ensure our player number is correctly set when the first heartbeat is sent.
1931 _playersInfo[gdjs.multiplayer.getCurrentPlayerNumber()] = {
1932 ping: 0, // we are the host, so we don't need to compute the ping.
1933 playerId: gdjs.playerAuthentication.getUserId(),
1934 username: gdjs.playerAuthentication.getUsername(),
1935 };
1936 for (const playerNumber in _playersInfo) {
1937 _playersInfo[playerNumber] = {
1938 ..._playersInfo[playerNumber],
1939 ping: getPlayerPing(parseInt(playerNumber, 10)),
1940 };
1941 }
1942 return {
1943 messageName: `${heartbeatMessageNamePrefix}#${gdjs.multiplayer.getCurrentPlayerNumber()}`,
1944 messageData: {
1945 now: getTimeNow(), // we send the current time to compute the ping.
1946 playersInfo: _playersInfo,
1947 },
1948 };
1949 };
1950 const createHeartbeatAnswerMessage = ({
1951 heartbeatSentAt,
1952 }: {

Callers 3

handleHeartbeatsToSendFunction · 0.85
handleHeartbeatsReceivedFunction · 0.85
markPlayerAsDisconnectedFunction · 0.85

Calls 1

getPlayerPingFunction · 0.85

Tested by

no test coverage detected