示例#1
0
 void Export.Reference <Area> .API(Export.Exporter ex)
 {
     ex.Value(AreaID);
     ex.Value(GeometryLayoutPointer);
     ex.Ref(level);
     ex.Ref(AreaModel);
     ex.Ref(collision);
     ex.RefArray(Objects.ToArray());
     ex.RefArray(MacroObjects.ToArray());
     ex.RefArray(SpecialObjects.ToArray());
     ex.RefArray(Warps.ToArray());
     ex.RefArray(PaintingWarps.ToArray());
     ex.RefArray(InstantWarps.ToArray());
 }
示例#2
0
文件: Object3D.cs 项目: bblpny/Quad64
        unsafe void Export.Reference <Object3D> .API(Export.Exporter ex)
        {
            {
                byte * data = stackalloc byte[data_size];
                ulong *ulng = (ulong *)data;
                *ulng++ = Flags;
                uint *unt = (uint *)ulng;
                *unt++ = getBehaviorAddress();
                short *shrt = (short *)unt;
                *shrt++ = trs.translation.X;
                *shrt++ = trs.translation.Y;
                *shrt++ = trs.translation.Z;
                *shrt++ = trs.rotation.X;
                *shrt++ = trs.rotation.Y;
                *shrt++ = trs.rotation.Z;
                ushort *ushrt = (ushort *)shrt;
                *ushrt++ = presetID;
                byte *uchr = (byte *)ushrt;
                *uchr++ = modelID;                //1
                *uchr++ = getActMask();           //2
                *uchr++ = BehaviorParameter1;     //3
                *uchr++ = BehaviorParameter2;     //4
                *uchr++ = BehaviorParameter3;     //5
                *uchr++ = BehaviorParameter4;     //6
                if ((uint)(uchr - data) != data_size)
                {
                    throw new System.InvalidOperationException();
                }

                ex.Value(data, (uint)data_size);
            }
            ex.Ref(area);
        }
示例#3
0
文件: Model3D.cs 项目: bblpny/Quad64
 void Export.Reference <MeshData> .API(Export.Exporter ex)
 {
     ex.Ref(texture);
     ex.Array(vertices);
     ex.Array(texCoord);
     ex.Array(colors);
     ex.Array(indices);
 }
示例#4
0
 void ForwardReference.Ref(Exporter call, Array arr, uint count)
 {
     call.Ref <TObject>((TObject[])arr, count);
 }
示例#5
0
 void ForwardReference.Ref(Exporter call, Array arr)
 {
     call.Ref <TObject>((TObject[])arr);
 }
示例#6
0
 void ForwardReference.Ref(Exporter call, object self)
 {
     call.Ref <TObject>((TObject)self);
 }