1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System.Net;
- using Mirror;
- using Mirror.Discovery;
- /*
- Documentation: https://mirror-networking.gitbook.io/docs/components/network-discovery
- API Reference: https://mirror-networking.com/docs/api/Mirror.Discovery.NetworkDiscovery.html
- */
- public class DiscoveryRequest : NetworkMessage
- {
- // Add properties for whatever information you want sent by clients
- // in their broadcast messages that servers will consume.
- }
- public class DiscoveryResponse : NetworkMessage
- {
- // Add properties for whatever information you want the server to return to
- // clients for them to display or consume for establishing a connection.
- }
- public class #SCRIPTNAME# : NetworkDiscoveryBase<DiscoveryRequest, DiscoveryResponse>
- {
- #region Server
- /// <summary>
- /// Reply to the client to inform it of this server
- /// </summary>
- /// <remarks>
- /// Override if you wish to ignore server requests based on
- /// custom criteria such as language, full server game mode or difficulty
- /// </remarks>
- /// <param name="request">Request coming from client</param>
- /// <param name="endpoint">Address of the client that sent the request</param>
- protected override void ProcessClientRequest(DiscoveryRequest request, IPEndPoint endpoint)
- {
- base.ProcessClientRequest(request, endpoint);
- }
- /// <summary>
- /// Process the request from a client
- /// </summary>
- /// <remarks>
- /// Override if you wish to provide more information to the clients
- /// such as the name of the host player
- /// </remarks>
- /// <param name="request">Request coming from client</param>
- /// <param name="endpoint">Address of the client that sent the request</param>
- /// <returns>A message containing information about this server</returns>
- protected override DiscoveryResponse ProcessRequest(DiscoveryRequest request, IPEndPoint endpoint)
- {
- return new DiscoveryResponse();
- }
- #endregion
- #region Client
- /// <summary>
- /// Create a message that will be broadcasted on the network to discover servers
- /// </summary>
- /// <remarks>
- /// Override if you wish to include additional data in the discovery message
- /// such as desired game mode, language, difficulty, etc... </remarks>
- /// <returns>An instance of ServerRequest with data to be broadcasted</returns>
- protected override DiscoveryRequest GetRequest()
- {
- return new DiscoveryRequest();
- }
- /// <summary>
- /// Process the answer from a server
- /// </summary>
- /// <remarks>
- /// A client receives a reply from a server, this method processes the
- /// reply and raises an event
- /// </remarks>
- /// <param name="response">Response that came from the server</param>
- /// <param name="endpoint">Address of the server that replied</param>
- protected override void ProcessResponse(DiscoveryResponse response, IPEndPoint endpoint) { }
- #endregion
- }
|