MatchNetworkManager.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using UnityEngine;
  2. /*
  3. Documentation: https://mirror-networking.gitbook.io/docs/components/network-manager
  4. API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkManager.html
  5. */
  6. namespace Mirror.Examples.MultipleMatch
  7. {
  8. [AddComponentMenu("")]
  9. public class MatchNetworkManager : NetworkManager
  10. {
  11. [Header("Match GUI")]
  12. public GameObject canvas;
  13. public CanvasController canvasController;
  14. #region Unity Callbacks
  15. /// <summary>
  16. /// Runs on both Server and Client
  17. /// Networking is NOT initialized when this fires
  18. /// </summary>
  19. public override void Awake()
  20. {
  21. base.Awake();
  22. canvasController.InitializeData();
  23. }
  24. #endregion
  25. #region Server System Callbacks
  26. /// <summary>
  27. /// Called on the server when a client is ready.
  28. /// <para>The default implementation of this function calls NetworkServer.SetClientReady() to continue the network setup process.</para>
  29. /// </summary>
  30. /// <param name="conn">Connection from client.</param>
  31. public override void OnServerReady(NetworkConnection conn)
  32. {
  33. base.OnServerReady(conn);
  34. canvasController.OnServerReady(conn);
  35. }
  36. /// <summary>
  37. /// Called on the server when a client disconnects.
  38. /// <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>
  39. /// </summary>
  40. /// <param name="conn">Connection from client.</param>
  41. public override void OnServerDisconnect(NetworkConnection conn)
  42. {
  43. canvasController.OnServerDisconnect(conn);
  44. base.OnServerDisconnect(conn);
  45. }
  46. #endregion
  47. #region Client System Callbacks
  48. /// <summary>
  49. /// Called on the client when connected to a server.
  50. /// <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>
  51. /// </summary>
  52. /// <param name="conn">Connection to the server.</param>
  53. public override void OnClientConnect(NetworkConnection conn)
  54. {
  55. base.OnClientConnect(conn);
  56. canvasController.OnClientConnect(conn);
  57. }
  58. /// <summary>
  59. /// Called on clients when disconnected from a server.
  60. /// <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>
  61. /// </summary>
  62. /// <param name="conn">Connection to the server.</param>
  63. public override void OnClientDisconnect(NetworkConnection conn)
  64. {
  65. canvasController.OnClientDisconnect();
  66. base.OnClientDisconnect(conn);
  67. }
  68. #endregion
  69. #region Start & Stop Callbacks
  70. /// <summary>
  71. /// This is invoked when a server is started - including when a host is started.
  72. /// <para>StartServer has multiple signatures, but they all cause this hook to be called.</para>
  73. /// </summary>
  74. public override void OnStartServer()
  75. {
  76. if (mode == NetworkManagerMode.ServerOnly)
  77. canvas.SetActive(true);
  78. canvasController.OnStartServer();
  79. }
  80. /// <summary>
  81. /// This is invoked when the client is started.
  82. /// </summary>
  83. public override void OnStartClient()
  84. {
  85. canvas.SetActive(true);
  86. canvasController.OnStartClient();
  87. }
  88. /// <summary>
  89. /// This is called when a server is stopped - including when a host is stopped.
  90. /// </summary>
  91. public override void OnStopServer()
  92. {
  93. canvasController.OnStopServer();
  94. canvas.SetActive(false);
  95. }
  96. /// <summary>
  97. /// This is called when a client is stopped.
  98. /// </summary>
  99. public override void OnStopClient()
  100. {
  101. canvasController.OnStopClient();
  102. }
  103. #endregion
  104. }
  105. }