public static float ComputeVolume(this Collider that) { BoxCollider boxCollider = that as BoxCollider; if (boxCollider != null) { return(boxCollider.ComputeVolume()); } SphereCollider sphereCollider = that as SphereCollider; if (sphereCollider != null) { return(sphereCollider.ComputeVolume()); } MeshCollider meshCollider = that as MeshCollider; if (meshCollider != null) { return(meshCollider.ComputeVolume()); } CapsuleCollider capsuleCollider = that as CapsuleCollider; if (capsuleCollider != null) { return(capsuleCollider.ComputeVolume()); } throw new NotImplementedException("UltimateWater: Unknown collider type."); }