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()); }
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); }
void Export.Reference <MeshData> .API(Export.Exporter ex) { ex.Ref(texture); ex.Array(vertices); ex.Array(texCoord); ex.Array(colors); ex.Array(indices); }
void ForwardReference.Ref(Exporter call, Array arr, uint count) { call.Ref <TObject>((TObject[])arr, count); }
void ForwardReference.Ref(Exporter call, Array arr) { call.Ref <TObject>((TObject[])arr); }
void ForwardReference.Ref(Exporter call, object self) { call.Ref <TObject>((TObject)self); }