Class NetworkManagerJson
A Unity component that represents a network manager. This class manages network connections, message handlers, and server state.
Inheritance
Inherited Members
Namespace: IMLD.MixedRealityAnalysis.Network
Assembly: Assembly-CSharp.dll
Syntax
public class NetworkManagerJson : MonoBehaviour
Fields
AnnounceMessage
The message string that the server should use when announcing itself over network.
Declaration
public readonly string AnnounceMessage
Field Value
Type | Description |
---|---|
System.String |
Instance
Instance reference for the singleton pattern implementation.
Declaration
public static NetworkManagerJson Instance
Field Value
Type | Description |
---|---|
NetworkManagerJson |
Network
The NetworkTransport used by this class.
Declaration
public NetworkTransport Network
Field Value
Type | Description |
---|---|
NetworkTransport |
Port
The port that the server should use.
Declaration
public readonly int Port
Field Value
Type | Description |
---|---|
System.Int32 |
Sessions
The list of servers or sessions that are available to connect to.
Declaration
[HideInInspector]
public Dictionary<string, NetworkManagerJson.SessionInfo> Sessions
Field Value
Type | Description |
---|---|
System.Collections.Generic.Dictionary<System.String, NetworkManagerJson.SessionInfo> |
Properties
IsConnected
Gets a value indicating whether the app is currently connected to a server.
Declaration
public bool IsConnected { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsServer
Gets a value indicating whether the app is currently acting as a server.
Declaration
public bool IsServer { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Methods
HandleNetworkMessageAsync(MessageContainer)
Handles a network manage by calling the correct registered message handler base on the MessageContainer.MessageType.
Declaration
public Task HandleNetworkMessageAsync(MessageContainer message)
Parameters
Type | Name | Description |
---|---|---|
MessageContainer | message | The network message. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | A task object. |
JoinSession(NetworkManagerJson.SessionInfo)
Joins the session matching the provided NetworkManagerJson.SessionInfo.
Declaration
public void JoinSession(NetworkManagerJson.SessionInfo session)
Parameters
Type | Name | Description |
---|---|---|
NetworkManagerJson.SessionInfo | session | The session that should be joined. |
Pause()
Pauses the network. Should be used whenever handling new messages could cause inconsistencies. Use Unpause() to restart handling of messages.
Declaration
public void Pause()
RegisterMessageHandler(MessageContainer.MessageType, Func<MessageContainer, Task>)
Registers a new message handler. There can only be one message handler per message type.
Declaration
public bool RegisterMessageHandler(MessageContainer.MessageType messageType, Func<MessageContainer, Task> messageHandler)
Parameters
Type | Name | Description |
---|---|---|
MessageContainer.MessageType | messageType | The type of the message that should be handled. |
System.Func<MessageContainer, System.Threading.Tasks.Task> | messageHandler | A System.Func<T, TResult> to handle the message. |
Returns
Type | Description |
---|---|
System.Boolean | true if the message handler was successfully added, false otherwise. |
SendMessage(MessageContainer)
Sends a message over network. The message is sent to the server if coming from a client and it is sent to all clients if coming from a server.
Declaration
public void SendMessage(MessageContainer message)
Parameters
Type | Name | Description |
---|---|---|
MessageContainer | message | The network message. |
StartAsServer()
Starts the server.
Declaration
public void StartAsServer()
Unpause()
Restarts the network manager after it has been paused. See also Pause().
Declaration
public void Unpause()
UnregisterMessageHandler(MessageContainer.MessageType)
Removes a registered message handler.
Declaration
public bool UnregisterMessageHandler(MessageContainer.MessageType messageType)
Parameters
Type | Name | Description |
---|---|---|
MessageContainer.MessageType | messageType | The message type for which the message handler should be cleared. |
Returns
Type | Description |
---|---|
System.Boolean | true if the message handler was successfully removed, false otherwise. |
Events
ConnectionStatusChanged
Event raised when connected or disconnected.
Declaration
public event EventHandler<EventArgs> ConnectionStatusChanged
Event Type
Type | Description |
---|---|
System.EventHandler<System.EventArgs> |
SessionListChanged
Event raised when the list of sessions changes.
Declaration
public event EventHandler<EventArgs> SessionListChanged
Event Type
Type | Description |
---|---|
System.EventHandler<System.EventArgs> |