예제 #1
0
        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);
        }
예제 #2
0
        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);
        }