public static MechanicsIDCard Read(Reader reader, Pointer offset) { MapLoader l = MapLoader.Loader; MechanicsIDCard c = new MechanicsIDCard(offset); c.type = reader.ReadUInt32(); // 0x0 c.flags = reader.ReadUInt32(); // 0x4 c.gravity = reader.ReadSingle(); c.maxRebound = reader.ReadSingle(); reader.ReadUInt32(); c.slopeLimit = reader.ReadSingle(); float x = reader.ReadSingle(); float z = reader.ReadSingle(); float y = reader.ReadSingle(); c.inertia = new Vector3(x, y, z); c.tiltIntensity = reader.ReadSingle(); c.tiltInertia = reader.ReadSingle(); c.tiltOrigin = reader.ReadSingle(); x = reader.ReadSingle(); z = reader.ReadSingle(); y = reader.ReadSingle(); c.maxInertia = new Vector3(x, y, z); return(c); }
public static MechanicsIDCard FromOffsetOrRead(Pointer offset, Reader reader) { if (offset == null) { return(null); } MechanicsIDCard c = FromOffset(offset); if (c == null) { Pointer off_current = Pointer.Goto(ref reader, offset); c = MechanicsIDCard.Read(reader, offset); Pointer.Goto(ref reader, off_current); MapLoader.Loader.mechanicsIDCards.Add(c); } return(c); }