multiplayerMessageManager: {
    addExpectedMessageAcknowledgement: ((__namedParameters) => void);
    clearAllMessagesTempData: (() => void);
    createChangeInstanceOwnerMessage: ((__namedParameters) => {
        messageData: {
            instanceX: number;
            instanceY: number;
            newOwner: number;
            previousOwner: number;
            sceneNetworkId: string;
        };
        messageName: string;
    });
    createChangeVariableOwnerMessage: ((__namedParameters) => {
        messageData: {
            newOwner: number;
            previousOwner: number;
        };
        messageName: string;
    });
    createDestroyInstanceMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    });
    createInstanceDestroyedMessageNameFromDestroyInstanceMessage: ((messageName) => string);
    createInstanceOwnerChangedMessageNameFromChangeInstanceOwnerMessage: ((messageName) => string);
    createUpdateGameMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    });
    createUpdateInstanceMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    });
    createUpdateSceneMessage: ((__namedParameters) => {
        messageData: LayoutNetworkSyncData;
        messageName: string;
    });
    createVariableOwnerChangedMessageNameFromChangeVariableOwnerMessage: ((messageName) => string);
    getConnectedPlayers: (() => {
        playerId: any;
        playerNumber: number;
    }[]);
    getCurrentPlayerPing: (() => number);
    getCustomMessageData: ((userMessageName) => any);
    getCustomMessageSender: ((userMessageName) => number);
    getLatestPlayerWhoJustJoined: (() => number);
    getLatestPlayerWhoJustLeft: (() => number);
    getNumberOfConnectedPlayers: (() => number);
    getPlayerId: ((playerNumber) => string);
    getPlayerPing: ((playerNumber) => number);
    getPlayerUsername: ((playerNumber) => string);
    getPlayersInfo: (() => {
        [playerNumber: number]: {
            ping: number;
            playerId: string;
            username: string;
        };
    });
    getPlayersWhoJustJoined: (() => number[]);
    getPlayersWhoJustLeft: (() => number[]);
    getVariableCustomMessageData: ((userMessageName, variable) => void);
    handleAcknowledgeMessagesReceived: (() => void);
    handleChangeInstanceOwnerMessagesReceived: ((runtimeScene) => void);
    handleChangeVariableOwnerMessagesReceived: ((runtimeScene) => void);
    handleCustomMessagesReceived: (() => void);
    handleDestroyInstanceMessagesReceived: ((runtimeScene) => void);
    handleEndGameMessagesReceived: (() => void);
    handleHeartbeatsReceived: (() => void);
    handleHeartbeatsToSend: (() => void);
    handleJustDisconnectedPeers: ((runtimeScene) => void);
    handleResumeGameMessagesReceived: ((runtimeScene) => void);
    handleSavedUpdateMessages: ((runtimeScene) => void);
    handleUpdateGameMessagesReceived: ((runtimeScene) => void);
    handleUpdateGameMessagesToSend: ((runtimeScene) => void);
    handleUpdateInstanceMessagesReceived: ((runtimeScene) => void);
    handleUpdateSceneMessagesReceived: ((runtimeScene) => void);
    handleUpdateSceneMessagesToSend: ((runtimeScene) => void);
    hasAnyPlayerJustJoined: (() => boolean);
    hasAnyPlayerJustLeft: (() => boolean);
    hasCustomMessageBeenReceived: ((userMessageName) => undefined | false);
    hasPlayerJustJoined: ((playerNumber) => boolean);
    hasPlayerJustLeft: ((playerNumber) => boolean);
    hasReceivedHeartbeatFromPlayer: ((playerNumber) => boolean);
    isPlayerConnected: ((playerNumber) => boolean);
    markPlayerAsDisconnected: ((__namedParameters) => void);
    removePlayerWhoJustJoined: (() => void);
    removePlayerWhoJustLeft: (() => void);
    resendClearOrCancelAcknowledgedMessages: ((runtimeScene) => void);
    sendCustomMessage: ((userMessageName, userMessageData) => void);
    sendDataTo: ((peerIds, messageName, data) => void);
    sendEndGameMessage: (() => void);
    sendResumeGameMessage: (() => void);
    sendVariableCustomMessage: ((userMessageName, variable) => void);
} = ...

The MultiplayerMessageManager used by the game.

Type declaration

  • addExpectedMessageAcknowledgement: ((__namedParameters) => void)
      • (__namedParameters): void
      • Parameters

        • __namedParameters: {
              expectedMessageName: string;
              maxNumberOfRetries?: number;
              messageRetryTime?: number;
              originalData: any;
              originalMessageName: string;
              otherPeerIds: string[];
              shouldCancelMessageIfTimesOut: boolean;
          }
          • expectedMessageName: string
          • Optional maxNumberOfRetries?: number
          • Optional messageRetryTime?: number
          • originalData: any
          • originalMessageName: string
          • otherPeerIds: string[]
          • shouldCancelMessageIfTimesOut: boolean

        Returns void

  • clearAllMessagesTempData: (() => void)
      • (): void
      • Returns void

  • createChangeInstanceOwnerMessage: ((__namedParameters) => {
        messageData: {
            instanceX: number;
            instanceY: number;
            newOwner: number;
            previousOwner: number;
            sceneNetworkId: string;
        };
        messageName: string;
    })
      • (__namedParameters): {
            messageData: {
                instanceX: number;
                instanceY: number;
                newOwner: number;
                previousOwner: number;
                sceneNetworkId: string;
            };
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              instanceNetworkId: string;
              instanceX: number;
              instanceY: number;
              newObjectOwner: number;
              objectName: string;
              objectOwner: number;
              sceneNetworkId: string;
          }
          • instanceNetworkId: string
          • instanceX: number
          • instanceY: number
          • newObjectOwner: number
          • objectName: string
          • objectOwner: number
          • sceneNetworkId: string

        Returns {
            messageData: {
                instanceX: number;
                instanceY: number;
                newOwner: number;
                previousOwner: number;
                sceneNetworkId: string;
            };
            messageName: string;
        }

        • messageData: {
              instanceX: number;
              instanceY: number;
              newOwner: number;
              previousOwner: number;
              sceneNetworkId: string;
          }
          • instanceX: number
          • instanceY: number
          • newOwner: number
          • previousOwner: number
          • sceneNetworkId: string
        • messageName: string
  • createChangeVariableOwnerMessage: ((__namedParameters) => {
        messageData: {
            newOwner: number;
            previousOwner: number;
        };
        messageName: string;
    })
      • (__namedParameters): {
            messageData: {
                newOwner: number;
                previousOwner: number;
            };
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              newVariableOwner: number;
              variableNetworkId: string;
              variableOwner: number;
          }
          • newVariableOwner: number
          • variableNetworkId: string
          • variableOwner: number

        Returns {
            messageData: {
                newOwner: number;
                previousOwner: number;
            };
            messageName: string;
        }

        • messageData: {
              newOwner: number;
              previousOwner: number;
          }
          • newOwner: number
          • previousOwner: number
        • messageName: string
  • createDestroyInstanceMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    })
      • (__namedParameters): {
            messageData: any;
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              instanceNetworkId: string;
              objectName: string;
              objectOwner: number;
              sceneNetworkId: string;
          }
          • instanceNetworkId: string
          • objectName: string
          • objectOwner: number
          • sceneNetworkId: string

        Returns {
            messageData: any;
            messageName: string;
        }

        • messageData: any
        • messageName: string
  • createInstanceDestroyedMessageNameFromDestroyInstanceMessage: ((messageName) => string)
      • (messageName): string
      • Parameters

        • messageName: string

        Returns string

  • createInstanceOwnerChangedMessageNameFromChangeInstanceOwnerMessage: ((messageName) => string)
      • (messageName): string
      • Parameters

        • messageName: string

        Returns string

  • createUpdateGameMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    })
      • (__namedParameters): {
            messageData: any;
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              gameNetworkSyncData: GameNetworkSyncData;
          }
          • gameNetworkSyncData: GameNetworkSyncData

        Returns {
            messageData: any;
            messageName: string;
        }

        • messageData: any
        • messageName: string
  • createUpdateInstanceMessage: ((__namedParameters) => {
        messageData: any;
        messageName: string;
    })
      • (__namedParameters): {
            messageData: any;
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              instanceNetworkId: string;
              objectName: string;
              objectNetworkSyncData: ObjectNetworkSyncData;
              objectOwner: number;
              sceneNetworkId: string;
          }
          • instanceNetworkId: string
          • objectName: string
          • objectNetworkSyncData: ObjectNetworkSyncData
          • objectOwner: number
          • sceneNetworkId: string

        Returns {
            messageData: any;
            messageName: string;
        }

        • messageData: any
        • messageName: string
  • createUpdateSceneMessage: ((__namedParameters) => {
        messageData: LayoutNetworkSyncData;
        messageName: string;
    })
      • (__namedParameters): {
            messageData: LayoutNetworkSyncData;
            messageName: string;
        }
      • Parameters

        • __namedParameters: {
              sceneNetworkSyncData: LayoutNetworkSyncData;
          }
          • sceneNetworkSyncData: LayoutNetworkSyncData

        Returns {
            messageData: LayoutNetworkSyncData;
            messageName: string;
        }

        • messageData: LayoutNetworkSyncData
        • messageName: string
  • createVariableOwnerChangedMessageNameFromChangeVariableOwnerMessage: ((messageName) => string)
      • (messageName): string
      • Parameters

        • messageName: string

        Returns string

  • getConnectedPlayers: (() => {
        playerId: any;
        playerNumber: number;
    }[])
      • (): {
            playerId: any;
            playerNumber: number;
        }[]
      • Returns {
            playerId: any;
            playerNumber: number;
        }[]

  • getCurrentPlayerPing: (() => number)
      • (): number
      • Returns number

  • getCustomMessageData: ((userMessageName) => any)
      • (userMessageName): any
      • Parameters

        • userMessageName: string

        Returns any

  • getCustomMessageSender: ((userMessageName) => number)
      • (userMessageName): number
      • Parameters

        • userMessageName: string

        Returns number

  • getLatestPlayerWhoJustJoined: (() => number)
      • (): number
      • Returns number

  • getLatestPlayerWhoJustLeft: (() => number)
      • (): number
      • Returns number

  • getNumberOfConnectedPlayers: (() => number)
      • (): number
      • Returns number

  • getPlayerId: ((playerNumber) => string)
      • (playerNumber): string
      • Parameters

        • playerNumber: number

        Returns string

  • getPlayerPing: ((playerNumber) => number)
      • (playerNumber): number
      • Parameters

        • playerNumber: number

        Returns number

  • getPlayerUsername: ((playerNumber) => string)
      • (playerNumber): string
      • Parameters

        • playerNumber: number

        Returns string

  • getPlayersInfo: (() => {
        [playerNumber: number]: {
            ping: number;
            playerId: string;
            username: string;
        };
    })
      • (): {
            [playerNumber: number]: {
                ping: number;
                playerId: string;
                username: string;
            };
        }
      • Returns {
            [playerNumber: number]: {
                ping: number;
                playerId: string;
                username: string;
            };
        }

        • [playerNumber: number]: {
              ping: number;
              playerId: string;
              username: string;
          }
          • ping: number
          • playerId: string
          • username: string
  • getPlayersWhoJustJoined: (() => number[])
      • (): number[]
      • Returns number[]

  • getPlayersWhoJustLeft: (() => number[])
      • (): number[]
      • Returns number[]

  • getVariableCustomMessageData: ((userMessageName, variable) => void)
      • (userMessageName, variable): void
      • Parameters

        • userMessageName: string
        • variable: Variable

        Returns void

  • handleAcknowledgeMessagesReceived: (() => void)
      • (): void
      • Returns void

  • handleChangeInstanceOwnerMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleChangeVariableOwnerMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleCustomMessagesReceived: (() => void)
      • (): void
      • Returns void

  • handleDestroyInstanceMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleEndGameMessagesReceived: (() => void)
      • (): void
      • Returns void

  • handleHeartbeatsReceived: (() => void)
      • (): void
      • Returns void

  • handleHeartbeatsToSend: (() => void)
      • (): void
      • Returns void

  • handleJustDisconnectedPeers: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleResumeGameMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleSavedUpdateMessages: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleUpdateGameMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleUpdateGameMessagesToSend: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleUpdateInstanceMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleUpdateSceneMessagesReceived: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • handleUpdateSceneMessagesToSend: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • hasAnyPlayerJustJoined: (() => boolean)
      • (): boolean
      • Returns boolean

  • hasAnyPlayerJustLeft: (() => boolean)
      • (): boolean
      • Returns boolean

  • hasCustomMessageBeenReceived: ((userMessageName) => undefined | false)
      • (userMessageName): undefined | false
      • Parameters

        • userMessageName: string

        Returns undefined | false

  • hasPlayerJustJoined: ((playerNumber) => boolean)
      • (playerNumber): boolean
      • Parameters

        • playerNumber: number

        Returns boolean

  • hasPlayerJustLeft: ((playerNumber) => boolean)
      • (playerNumber): boolean
      • Parameters

        • playerNumber: number

        Returns boolean

  • hasReceivedHeartbeatFromPlayer: ((playerNumber) => boolean)
      • (playerNumber): boolean
      • Parameters

        • playerNumber: number

        Returns boolean

  • isPlayerConnected: ((playerNumber) => boolean)
      • (playerNumber): boolean
      • Parameters

        • playerNumber: number

        Returns boolean

  • markPlayerAsDisconnected: ((__namedParameters) => void)
      • (__namedParameters): void
      • Parameters

        • __namedParameters: {
              peerId?: string;
              playerNumber: number;
              runtimeScene: RuntimeScene;
          }
          • Optional peerId?: string
          • playerNumber: number
          • runtimeScene: RuntimeScene

        Returns void

  • removePlayerWhoJustJoined: (() => void)
      • (): void
      • Returns void

  • removePlayerWhoJustLeft: (() => void)
      • (): void
      • Returns void

  • resendClearOrCancelAcknowledgedMessages: ((runtimeScene) => void)
      • (runtimeScene): void
      • Parameters

        Returns void

  • sendCustomMessage: ((userMessageName, userMessageData) => void)
      • (userMessageName, userMessageData): void
      • Parameters

        • userMessageName: string
        • userMessageData: any

        Returns void

  • sendDataTo: ((peerIds, messageName, data) => void)
      • (peerIds, messageName, data): void
      • Main function to send messages to other players, via P2P. Takes into account the simulation of network latency and packet loss.

        Parameters

        • peerIds: string[]
        • messageName: string
        • data: object

        Returns void

  • sendEndGameMessage: (() => void)
      • (): void
      • Returns void

  • sendResumeGameMessage: (() => void)
      • (): void
      • Returns void

  • sendVariableCustomMessage: ((userMessageName, variable) => void)
      • (userMessageName, variable): void
      • Parameters

        • userMessageName: string
        • variable: Variable

        Returns void