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