private void AdaptCollider()
 {
     if (exactColliders)
     {
         ComponentUtilities.EnsureComponentReference(gameObject, ref meshCollider, true);
         meshCollider.convex  = true;
         meshCollider.enabled = true;
         if (boxCollider != null)
         {
             boxCollider.enabled = false;
             boxCollider.center  = Vector3.zero;
             boxCollider.size    = 0.00001f * Vector3.one;
         }
         meshCollider.sharedMesh = meshFilter.sharedMesh;
     }
     else
     {
         ComponentUtilities.EnsureComponentReference(gameObject, ref boxCollider, true);
         boxCollider.enabled = true;
         if (meshCollider != null)
         {
             meshCollider.enabled = false;
         }
         boxCollider.size   = new Vector3(width, height, depth);
         boxCollider.center = new Vector3(0, 0, depth / 2f);
     }
 }
        /// <summary>
        /// Called by Unity every frame and on every change in the Unity editor
        /// </summary>
        private void Update()
        {
            // if something was changed: updat the mesh and colliders
            if (settingsChanged)
            {
                settingsChanged = false;

                CheckValues();
                ComponentUtilities.EnsureComponentReference(gameObject, ref meshFilter, true);
                meshFilter.sharedMesh = GenerateMesh();
                AdaptCollider();
            }
        }