public static PickupEvent read(BinaryReader binaryReader)
        {
            PickupEvent newObj = new PickupEvent();

            newObj.object_id  = binaryReader.ReadUInt32();
            newObj.timestamps = PhysicsTimestampPack.read(binaryReader);
            return(newObj);
        }
        public static PhysicsTimestampPack read(BinaryReader binaryReader)
        {
            PhysicsTimestampPack newObj = new PhysicsTimestampPack();

            newObj.ts1 = binaryReader.ReadUInt16();
            newObj.ts2 = binaryReader.ReadUInt16();
            Util.readToAlign(binaryReader);
            return(newObj);
        }
        public static SetState read(BinaryReader binaryReader)
        {
            SetState newObj = new SetState();

            newObj.object_id  = binaryReader.ReadUInt32();
            newObj.new_state  = binaryReader.ReadUInt32();
            newObj.timestamps = PhysicsTimestampPack.read(binaryReader);
            return(newObj);
        }
        public static ObjDescEvent read(BinaryReader binaryReader)
        {
            ObjDescEvent newObj = new ObjDescEvent();

            newObj.object_id  = binaryReader.ReadUInt32();
            newObj.desc       = ObjDesc.read(binaryReader);
            newObj.timestamps = PhysicsTimestampPack.read(binaryReader);
            return(newObj);
        }
        public static VectorUpdate read(BinaryReader binaryReader)
        {
            VectorUpdate newObj = new VectorUpdate();

            newObj.object_id  = binaryReader.ReadUInt32();
            newObj.velocity   = Vector3.read(binaryReader);
            newObj.omega      = Vector3.read(binaryReader);
            newObj.timestamps = PhysicsTimestampPack.read(binaryReader);
            return(newObj);
        }
        public static ParentEvent read(BinaryReader binaryReader)
        {
            ParentEvent newObj = new ParentEvent();

            newObj.object_id      = binaryReader.ReadUInt32();
            newObj.child_id       = binaryReader.ReadUInt32();
            newObj.child_location = binaryReader.ReadUInt32();
            newObj.placement_id   = binaryReader.ReadUInt32();
            newObj.timestamps     = PhysicsTimestampPack.read(binaryReader);
            return(newObj);
        }