internal void InternalConnectLocalServer(bool generateConnectMsg) { if (m_FreeMessages == null) { m_FreeMessages = new Stack <InternalMsg>(); for (int i = 0; i < k_InitialFreeMessagePoolSize; i++) { InternalMsg msg = new InternalMsg(); m_FreeMessages.Push(msg); } } m_LocalServer = NetworkServer.instance; m_Connection = new ULocalConnectionToServer(m_LocalServer); SetHandlers(m_Connection); m_Connection.connectionId = m_LocalServer.AddLocalClient(this); m_AsyncConnect = ConnectState.Connected; SetActive(true); RegisterSystemHandlers(true); if (generateConnectMsg) { PostInternalMessage(MsgType.Connect); } m_Connected = true; }
internal void InternalConnectLocalServer(bool generateConnectMsg) { m_Connection = new ULocalConnectionToServer(); SetHandlers(m_Connection); m_Connection.connectionId = NetworkServer.AddLocalClient(this); m_AsyncConnect = ConnectState.Connected; SetActive(true); RegisterSystemHandlers(true); if (generateConnectMsg) { PostInternalMessage((short)MsgType.Connect); } m_Connected = true; }
internal void InternalConnectLocalServer() { if (m_FreeMessages == null) { m_FreeMessages = new Stack <InternalMsg>(); for (int i = 0; i < 64; i++) { m_FreeMessages.Push(default(InternalMsg)); } } m_LocalServer = NetworkServer.instance; m_Connection = new ULocalConnectionToServer(m_LocalServer); SetHandlers(m_Connection); m_Connection.connectionId = m_LocalServer.AddLocalClient(this); m_AsyncConnect = ConnectState.Connected; NetworkClient.SetActive(state: true); RegisterSystemHandlers(localClient: true); PostInternalMessage(32); m_Connected = true; }
internal bool InvokeHandlerOnServer(ULocalConnectionToServer conn, short msgType, MessageBase msg, int channelId) { if (this.m_MessageHandlers.GetHandler(msgType) != null) { NetworkConnection networkConnection = this.m_Connections.Get(conn.connectionId); if (networkConnection != null) { ULocalConnectionToClient connectionToClient = (ULocalConnectionToClient) networkConnection; NetworkWriter writer = new NetworkWriter(); msg.Serialize(writer); NetworkReader reader = new NetworkReader(writer); this.m_MessageHandlers.InvokeHandler(msgType, (NetworkConnection) connectionToClient, reader, channelId); return true; } if (LogFilter.logError) Debug.LogError((object) ("Local invoke: Failed to find local connection to invoke handler on [connectionId=" + (object) conn.connectionId + "]")); return false; } if (LogFilter.logError) Debug.LogError((object) ("Local invoke: Failed to find message handler for message ID " + (object) msgType)); return false; }
internal bool InvokeBytes(ULocalConnectionToServer conn, byte[] buffer, int numBytes, int channelId) { NetworkReader reader = new NetworkReader(buffer); int num = (int) reader.ReadInt16(); short msgType = reader.ReadInt16(); if (this.m_MessageHandlers.GetHandler(msgType) != null) { NetworkConnection networkConnection = this.m_Connections.Get(conn.connectionId); if (networkConnection != null) { ULocalConnectionToClient connectionToClient = (ULocalConnectionToClient) networkConnection; this.m_MessageHandlers.InvokeHandler(msgType, (NetworkConnection) connectionToClient, reader, channelId); return true; } } return false; }
internal bool InvokeHandlerOnServer(ULocalConnectionToServer conn, short msgType, MessageBase msg, int channelId) { if (handlers.ContainsKey(msgType) && (this.m_LocalConnection != null)) { NetworkWriter writer = new NetworkWriter(); msg.Serialize(writer); NetworkReader reader = new NetworkReader(writer); this.m_LocalConnection.InvokeHandler(msgType, reader, channelId); return true; } if (LogFilter.logError) { Debug.LogError(string.Concat(new object[] { "Local invoke: Failed to find local connection to invoke handler on [connectionId=", conn.connectionId, "] for MsgId:", msgType })); } return false; }
internal bool InvokeBytes(ULocalConnectionToServer conn, byte[] buffer, int numBytes, int channelId) { NetworkReader reader = new NetworkReader(buffer); reader.ReadInt16(); short key = reader.ReadInt16(); if (handlers.ContainsKey(key) && (this.m_LocalConnection != null)) { this.m_LocalConnection.InvokeHandler(key, reader, channelId); return true; } return false; }