public static MvdModelPropertyFrame Parse(MvdModelPropertyData mpd, BinaryReader br) { var rt = new MvdModelPropertyFrame { FrameTime = br.ReadInt64(), Visible = br.ReadBoolean(), Shadow = br.ReadBoolean(), AddBlending = br.ReadBoolean(), Physics = br.ReadBoolean(), }; if (mpd.MinorType >= 1) { rt.PhysicsStillMode = br.ReadBoolean(); br.ReadBytes(3); // reserved[3] } rt.EdgeWidth = br.ReadSingle(); rt.EdgeColor = new[] { br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte() }; rt.IKEnabled = Enumerable.Range(0, mpd.IKBones.Length).Select(_ => br.ReadBoolean()).ToArray(); return(rt); }
public static MvdModelPropertyFrame Parse(MvdModelPropertyData mpd, BinaryReader br) { var rt = new MvdModelPropertyFrame { FrameTime = br.ReadInt64(), Visible = br.ReadBoolean(), Shadow = br.ReadBoolean(), AddBlending = br.ReadBoolean(), Physics = br.ReadBoolean(), }; if (mpd.MinorType >= 1) { rt.PhysicsStillMode = br.ReadBoolean(); br.ReadBytes(3); // reserved[3] } rt.EdgeWidth = br.ReadSingle(); rt.EdgeColor = new[] { br.ReadByte(), br.ReadByte(), br.ReadByte(), br.ReadByte() }; rt.IKEnabled = Enumerable.Range(0, mpd.IKBones.Length).Select(_ => br.ReadBoolean()).ToArray(); return rt; }
protected override void ReadItem(MvdDocument document, BinaryReader br) { this.Frames.Add(MvdModelPropertyFrame.Parse(this, br)); }