public void FinishParse() { EntityShape es = GetShape(DamageMode, out Location offset, false); Coll = es.GetCollidableInstance(); Coll.LocalPosition = offset.ToBVector(); Vector3 zero = Vector3.Zero; Quaternion ident = Quaternion.Identity; Coll.UpdateWorldTransform(ref zero, ref ident); RigidTransform rt = new RigidTransform(zero, ident); Coll.UpdateBoundingBoxForTransform(ref rt); EntityShape es2 = GetShape(DamageMode, out offset, true); }
public void FinishParse() { BSSD = new BlockShapeSubDetails(); for (int i = 0; i < 64; i++) { BSSD.Verts[i] = GetVertices(Vector3.Zero, (i & 1) == 1, (i & 2) == 2, (i & 4) == 4, (i & 8) == 8, (i & 16) == 16, (i & 32) == 32); BSSD.Norms[i] = GetNormals(Vector3.Zero, (i & 1) == 1, (i & 2) == 2, (i & 4) == 4, (i & 8) == 8, (i & 16) == 16, (i & 32) == 32); BSSD.TCrds[i] = GetTCoords(Vector3.Zero, Material.DEBUG, (i & 1) == 1, (i & 2) == 2, (i & 4) == 4, (i & 8) == 8, (i & 16) == 16, (i & 32) == 32).ToArray(); } EntityShape es = GetShape(DamageMode, out Location offset, false); Coll = es.GetCollidableInstance(); Coll.LocalPosition = offset.ToBVector(); Vector3 zero = Vector3.Zero; BEPUutilities.Quaternion ident = BEPUutilities.Quaternion.Identity; Coll.UpdateWorldTransform(ref zero, ref ident); RigidTransform rt = new RigidTransform(zero, ident); Coll.UpdateBoundingBoxForTransform(ref rt); EntityShape es2 = GetShape(DamageMode, out offset, true); }