public void Save(BinaryWriter bw) { CameraCommandEntry last = null; if (RootCommand != null) { CameraCommand c = (CameraCommand)RootCommand; if (c.Entries.Count > 0) { last = c.Entries[c.Entries.Count - 1]; } } byte terminator = (this == last) ? (byte)0xFF : (byte)0x00; //0x00 bw.Write(terminator); bw.Write(Rotation); bw.WriteBig(Frames); //0x04 bw.WriteBig(AngleOfView); //0x08 bw.WriteBig(Coordinates.x); bw.WriteBig(Coordinates.y); //0x0C bw.WriteBig(Coordinates.z); bw.WriteBig(d); }
private void Load(BinaryReader br) { CameraCommandEntry entry; short startFrame; UnknownA = br.ReadBigUInt16(); StartFrame = br.ReadBigInt16(); EndFrame = br.ReadBigInt16(); zero = br.ReadBigUInt16(); startFrame = StartFrame; do { entry = new CameraCommandEntry(); entry.Load(this, startFrame, br); startFrame += (short)entry.Frames; Entries.Add(entry); }while (!entry.IsLastEntry); }
public void RemoveEntry(IFrameData i) { CameraCommandEntry entry = (CameraCommandEntry)i; Entries.Remove(entry); }