/// <summary> /// Re-applies the bounds to the internal animation object, and the relevant renderable object if one exists. /// </summary> internal void UpdateBounds(bool updateRenderable = true) { NativeRenderable renderable = null; if (updateRenderable && animatedRenderable != null) { renderable = animatedRenderable.Native; } if (serializableData.useBounds) { if (renderable != null) { renderable.UseOverrideBounds = true; renderable.OverrideBounds = serializableData.bounds; } if (_native != null) { AABox bounds = serializableData.bounds; bounds.TransformAffine(SceneObject.WorldTransform); _native.Bounds = bounds; } } else { if (renderable != null) { renderable.UseOverrideBounds = false; } if (_native != null) { AABox bounds = new AABox(); if (animatedRenderable != null) { bounds = animatedRenderable.Bounds.Box; } _native.Bounds = bounds; } } }