123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using UnityEngine;
- /*
- Documentation: https://mirror-networking.gitbook.io/docs/components/network-manager
- API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkManager.html
- */
- namespace Mirror.Examples.MultipleMatch
- {
- [AddComponentMenu("")]
- public class MatchNetworkManager : NetworkManager
- {
- [Header("Match GUI")]
- public GameObject canvas;
- public CanvasController canvasController;
- #region Unity Callbacks
- /// <summary>
- /// Runs on both Server and Client
- /// Networking is NOT initialized when this fires
- /// </summary>
- public override void Awake()
- {
- base.Awake();
- canvasController.InitializeData();
- }
- #endregion
- #region Server System Callbacks
- /// <summary>
- /// Called on the server when a client is ready.
- /// <para>The default implementation of this function calls NetworkServer.SetClientReady() to continue the network setup process.</para>
- /// </summary>
- /// <param name="conn">Connection from client.</param>
- public override void OnServerReady(NetworkConnection conn)
- {
- base.OnServerReady(conn);
- canvasController.OnServerReady(conn);
- }
- /// <summary>
- /// Called on the server when a client disconnects.
- /// <para>This is called on the Server when a Client disconnects from the Server. Use an override to decide what should happen when a disconnection is detected.</para>
- /// </summary>
- /// <param name="conn">Connection from client.</param>
- public override void OnServerDisconnect(NetworkConnection conn)
- {
- canvasController.OnServerDisconnect(conn);
- base.OnServerDisconnect(conn);
- }
- #endregion
- #region Client System Callbacks
- /// <summary>
- /// Called on the client when connected to a server.
- /// <para>The default implementation of this function sets the client as ready and adds a player. Override the function to dictate what happens when the client connects.</para>
- /// </summary>
- /// <param name="conn">Connection to the server.</param>
- public override void OnClientConnect(NetworkConnection conn)
- {
- base.OnClientConnect(conn);
- canvasController.OnClientConnect(conn);
- }
- /// <summary>
- /// Called on clients when disconnected from a server.
- /// <para>This is called on the client when it disconnects from the server. Override this function to decide what happens when the client disconnects.</para>
- /// </summary>
- /// <param name="conn">Connection to the server.</param>
- public override void OnClientDisconnect(NetworkConnection conn)
- {
- canvasController.OnClientDisconnect();
- base.OnClientDisconnect(conn);
- }
- #endregion
- #region Start & Stop Callbacks
- /// <summary>
- /// This is invoked when a server is started - including when a host is started.
- /// <para>StartServer has multiple signatures, but they all cause this hook to be called.</para>
- /// </summary>
- public override void OnStartServer()
- {
- if (mode == NetworkManagerMode.ServerOnly)
- canvas.SetActive(true);
- canvasController.OnStartServer();
- }
- /// <summary>
- /// This is invoked when the client is started.
- /// </summary>
- public override void OnStartClient()
- {
- canvas.SetActive(true);
- canvasController.OnStartClient();
- }
- /// <summary>
- /// This is called when a server is stopped - including when a host is stopped.
- /// </summary>
- public override void OnStopServer()
- {
- canvasController.OnStopServer();
- canvas.SetActive(false);
- }
- /// <summary>
- /// This is called when a client is stopped.
- /// </summary>
- public override void OnStopClient()
- {
- canvasController.OnStopClient();
- }
- #endregion
- }
- }
|