예제 #1
0
 /// <summary>
 /// When disabled, stop spawning objects
 /// </summary>
 private void OnDisable()
 {
     m_IsSpawningObjects = false;
     if (NetworkManager.Singleton && EnableHandler && m_MyCustomPrefabSpawnHandler != null)
     {
         var no = ServerObjectToPool.GetComponent <NetworkObject>();
         NetworkManager.Singleton.PrefabHandler.RemoveHandler(no);
         m_MyCustomPrefabSpawnHandler = null;
     }
 }
예제 #2
0
 /// <summary>
 /// Handles registering the custom prefab handler
 /// </summary>
 private void RegisterCustomPrefabHandler()
 {
     // Register the custom spawn handler?
     if (m_MyCustomPrefabSpawnHandler == null && EnableHandler)
     {
         if (NetworkManager && NetworkManager.PrefabHandler != null)
         {
             m_MyCustomPrefabSpawnHandler = new MyCustomPrefabSpawnHandler(this);
             if (RegisterUsingNetworkObject)
             {
                 NetworkManager.PrefabHandler.AddHandler(ServerObjectToPool.GetComponent <NetworkObject>(), m_MyCustomPrefabSpawnHandler);
             }
             else
             {
                 NetworkManager.PrefabHandler.AddHandler(ServerObjectToPool, m_MyCustomPrefabSpawnHandler);
             }
         }
         else if (!IsServer)
         {
             Debug.LogWarning($"Failed to register custom spawn handler and {nameof(EnableHandler)} is set to true!");
         }
     }
 }