protected override void UpdateSurfaceData(SpatialMappingBase.Surface surface) { base.UpdateSurfaceData(surface); SurfaceData surfaceData = surface.surfaceData; surfaceData.bakeCollider = base.bakePhysics; surfaceData.outputCollider = surface.meshCollider; surface.surfaceData = surfaceData; }
protected override void DestroySurface(SpatialMappingBase.Surface surface) { if (surface.meshRenderer != null) { surface.meshRenderer.sharedMaterial = null; surface.meshRenderer.enabled = false; UnityEngine.Object.Destroy(surface.meshRenderer); surface.meshRenderer = null; } base.DestroySurface(surface); }
protected override void AddRequiredComponentsForBaking(SpatialMappingBase.Surface surface) { base.AddRequiredComponentsForBaking(surface); if (surface.meshCollider == null) { surface.meshCollider = surface.gameObject.AddComponent <MeshCollider>(); } SurfaceData surfaceData = surface.surfaceData; surfaceData.outputCollider = surface.meshCollider; surface.surfaceData = surfaceData; }
protected override void OnBeginSurfaceEviction(bool shouldBeActiveWhileRemoved, SpatialMappingBase.Surface surface) { if ((surface.gameObject != null) && (surface.meshRenderer != null)) { surface.meshRenderer.enabled = shouldBeActiveWhileRemoved; } }