/// <summary>
 /// Called by the system during deinitialization.
 /// </summary>
 public void OnDeinitialize()
 {
     if (logEvents)
     {
         Debug.Log("System deinitialized.");
     }
     surfaceDrawer = null;
 }
 /// <summary>
 /// Called by the system when a building process is started.
 /// </summary>
 /// <param name="numberOfOperations">The number of operations to be performed.</param>
 public void OnStartBuildingProcess(int numberOfOperations)
 {
     if (logBuildingProcess)
     {
         Debug.Log($"BuildingProcess started. Number of operations: {numberOfOperations}.");
     }
     surfaceDrawer            = null;
     buildingProcessStartTime = Time.timeSinceLevelLoad;
 }
 /// <summary>
 /// Updates the drawing component.
 /// </summary>
 /// <param name="layers">The layer available in the system.</param>
 /// <param name="settings">The settings of the system.</param>
 public void UpdateGizmosDrawer(NavigationSurface[] layers, NavigationSettings settings)
 {
     if (drawSurface && drawSurfaceLayerIndex >= 0 && drawSurfaceLayerIndex < layers.Length)
     {
         if (drawSurfaceMinimized)
         {
             surfaceDrawer = layers[drawSurfaceLayerIndex].CreateMinimalDrawer();
         }
         else
         {
             surfaceDrawer = layers[drawSurfaceLayerIndex].CreateAdvancedDrawer(settings);
         }
     }
     else
     {
         surfaceDrawer = null;
     }
 }