public void Append(ShapeDataAbstract shape) { if (shape is ShapeDataSphere) { AppendSphere(shape as ShapeDataSphere); } else if (shape is ShapeDataCapsule) { AppendCapsule(shape as ShapeDataCapsule); } else if (shape is ShapeDataMesh) { ShapeDataMesh mesh = shape as ShapeDataMesh; if (mesh.convex) { AppendMeshConvex(mesh); } else { AppendMeshNonConvex(mesh); } } else if (shape is ShapeDataBox) { AppendBox(shape as ShapeDataBox); } else if (shape is ShapeDataCharacterControler) { AppendCharacterControler(shape as ShapeDataCharacterControler); } else { Debug.LogWarningFormat("Current type are not implemented: {0}. Tell developer to fix that"); } }
public void AppendMeshConvex(ShapeDataMesh data) { AppendMeshConvex(data.verts, data.tris, data.matrix, GetAreaValue(data.area), data.infoMode != ColliderInfoMode.Solid, data.bounds); }
public void AppendMeshNonConvex(ShapeDataMesh data) { AppendMeshNonConvex(data.verts, data.tris, data.matrix, GetAreaValue(data.area)); }