A centralized manager for handling multiplayer connections in a multiplayer game. More...
Public Member Functions | |
delegate void | ServerStartedEventHandler () |
Signal emitted when the server starts successfully. | |
delegate void | ServerStoppedEventHandler () |
Signal emitted when the server is manually stopped. | |
delegate void | StartServerFailedEventHandler (int error) |
Signal emitted when the server fails to start. | |
delegate void | JoinedServerEventHandler (int peerId) |
Signal emitted when the client establishes a successful connection to the server. | |
delegate void | LeftServerEventHandler () |
Signal emitted when the client leaves the server connection manually. | |
delegate void | JoinServerFailedEventHandler (int error) |
Signal emitted when the client fails to establish a connection to the server. | |
delegate void | ConnectionToServerFailedEventHandler (int error) |
Signal emitted when the active connection to the server fails. | |
delegate void | ClientConnectedEventHandler (int peerId) |
Signal emitted when a new client establishes a successful connection to the server. | |
delegate void | ClientDisconnectedEventHandler (int peerId) |
Signal emitted when a client disconnects from the server. | |
delegate void | PlayerSpawnedEventHandler (int peerId, NodePath playerNodePath) |
Signal emitted when a player is added to the
collection. | |
delegate void | PlayerDespawnedEventHandler (int peerId, NodePath playerNodePath) |
Signal emitted when a player is removed from the
collection. | |
override void | _Ready () |
override void | _PhysicsProcess (double delta) |
Runs every physics frame and updates the multiplayer timers. | |
void | SetServerConfiguration (ServerConfiguration configuration) |
Sets the configuration for the Godot multiplayer server. | |
void | SetClientConfiguration (ClientConfiguration configuration) |
Sets the configuration for the Godot multiplayer client. | |
void | StartServer () |
Starts the Godot multiplayer server. | |
void | StopServer () |
Stops the Godot multiplayer server. | |
int | JoinServer () |
Starts the Godot multiplayer client and connects to the server. | |
void | LeaveServer () |
Disconnects the Godot multiplayer client from to the server. | |
void | AddSpawnedPlayer (int peerId, Node playerNode) |
Adds a spawned player to the collection of spawned players. | |
void | RemoveSpawnedPlayer (int peerId) |
Removes a spawned player to the collection of spawned players. | |
Public Attributes | |
GameServer | Server = new GameServer() |
The server instance for the multiplayer game. | |
GameClient | Client = new GameClient() |
The client instance for the multiplayer game. | |
Properties | |
static MultinetManager | Instance [get] |
The singleton instance of the multiplayer manager. | |
int | PeerId = 0 [get] |
The peer ID from the Godot multiplayer API. | |
bool | IsServer [get] |
Indicates whether the current instance is a server. | |
float | ServerTime = 0f [get] |
The time passed since game start in ms for the server. | |
float | ClientTime = 0f [get] |
The time passed since game start in ms for the client. | |
IReadOnlyList< int > | ConnectedPlayers [get] |
A list of currently connected peers. | |
IReadOnlyDictionary< int, NodePath > | SpawnedPlayers [get] |
The collection of spawned players. Element key is peer ID and value is the path to the player node relative to the root. | |
A centralized manager for handling multiplayer connections in a multiplayer game.
override void Multinet.MultinetManager._PhysicsProcess | ( | double | delta | ) |
Runs every physics frame and updates the multiplayer timers.
override void Multinet.MultinetManager._Ready | ( | ) |
void Multinet.MultinetManager.AddSpawnedPlayer | ( | int | peerId, |
Node | playerNode ) |
Adds a spawned player to the collection of spawned players.
peerId | The peer id from the Godot Multiplayer API. |
playerNode | The spawned player node. |
delegate void Multinet.MultinetManager.ClientConnectedEventHandler | ( | int | peerId | ) |
Signal emitted when a new client establishes a successful connection to the server.
peerId | The generated peer ID from the Godot multiplayer API. |
Executed on: Server & All other client
delegate void Multinet.MultinetManager.ClientDisconnectedEventHandler | ( | int | peerId | ) |
Signal emitted when a client disconnects from the server.
peerId | The generated peer ID from the Godot multiplayer API. |
Executed on: Server & All other clients
delegate void Multinet.MultinetManager.ConnectionToServerFailedEventHandler | ( | int | error | ) |
Signal emitted when the active connection to the server fails.
error | The error code from the Godot multiplayer API. |
Executed on: Client
delegate void Multinet.MultinetManager.JoinedServerEventHandler | ( | int | peerId | ) |
Signal emitted when the client establishes a successful connection to the server.
peerId | The generated peer ID from the Godot multiplayer API. |
Executed on: Client
int Multinet.MultinetManager.JoinServer | ( | ) |
Starts the Godot multiplayer client and connects to the server.
delegate void Multinet.MultinetManager.JoinServerFailedEventHandler | ( | int | error | ) |
Signal emitted when the client fails to establish a connection to the server.
error | The error code from the Godot multiplayer API. |
Executed on: Client
void Multinet.MultinetManager.LeaveServer | ( | ) |
Disconnects the Godot multiplayer client from to the server.
delegate void Multinet.MultinetManager.LeftServerEventHandler | ( | ) |
Signal emitted when the client leaves the server connection manually.
Executed on: Client
delegate void Multinet.MultinetManager.PlayerDespawnedEventHandler | ( | int | peerId, |
NodePath | playerNodePath ) |
Signal emitted when a player is removed from the
collection.
peerId | The peer ID from the Godot Multiplayer API. |
playerNodePath | The node path to the player node relative to the root. |
Executed on: Server & All other clients
delegate void Multinet.MultinetManager.PlayerSpawnedEventHandler | ( | int | peerId, |
NodePath | playerNodePath ) |
Signal emitted when a player is added to the
collection.
peerId | The peer ID from the Godot Multiplayer API. |
playerNodePath | The node path to the player node relative to the root. |
Executed on: Server & All other clients
void Multinet.MultinetManager.RemoveSpawnedPlayer | ( | int | peerId | ) |
Removes a spawned player to the collection of spawned players.
peerId | The peer id from the Godot Multiplayer API. |
delegate void Multinet.MultinetManager.ServerStartedEventHandler | ( | ) |
Signal emitted when the server starts successfully.
Executed on: Server
delegate void Multinet.MultinetManager.ServerStoppedEventHandler | ( | ) |
Signal emitted when the server is manually stopped.
Executed on: Server
void Multinet.MultinetManager.SetClientConfiguration | ( | ClientConfiguration | configuration | ) |
Sets the configuration for the Godot multiplayer client.
void Multinet.MultinetManager.SetServerConfiguration | ( | ServerConfiguration | configuration | ) |
Sets the configuration for the Godot multiplayer server.
void Multinet.MultinetManager.StartServer | ( | ) |
Starts the Godot multiplayer server.
delegate void Multinet.MultinetManager.StartServerFailedEventHandler | ( | int | error | ) |
Signal emitted when the server fails to start.
error | The error code from the Godot multiplayer API. |
Executed on: Server
void Multinet.MultinetManager.StopServer | ( | ) |
Stops the Godot multiplayer server.
GameClient Multinet.MultinetManager.Client = new GameClient() |
The client instance for the multiplayer game.
GameServer Multinet.MultinetManager.Server = new GameServer() |
The server instance for the multiplayer game.
|
get |
The time passed since game start in ms for the client.
|
get |
A list of currently connected peers.
This list is automatically managed by the
|
staticget |
The singleton instance of the multiplayer manager.
|
get |
Indicates whether the current instance is a server.
|
get |
The peer ID from the Godot multiplayer API.
|
get |
The time passed since game start in ms for the server.
|
get |
The collection of spawned players. Element key is peer ID and value is the path to the player node relative to the root.
This collection is manually managed and should be updated when a player is spawned or removed.
Add a spawned player:
Remove a spawned player: