/// <summary> /// Create a clone of this Object /// </summary> /// <returns>The clone</returns> public override object Clone() { TransformNodeItems list = new TransformNodeItems(); foreach (TransformNodeItem item in this) { list.Add(item); } return(list); }
/// <summary> /// Unserializes a BinaryStream into the Attributes of this Instance /// </summary> /// <param name="reader">The Stream that contains the FileData</param> public override void Unserialize(System.IO.BinaryReader reader) { version = reader.ReadUInt32(); string name = reader.ReadString(); uint myid = reader.ReadUInt32(); ctn.Unserialize(reader); ctn.BlockID = myid; name = reader.ReadString(); myid = reader.ReadUInt32(); ogn.Unserialize(reader); ogn.BlockID = myid; //items = new TransformNodeItem[]; uint count = reader.ReadUInt32(); items.Clear(); for (int i = 0; i < count; i++) { TransformNodeItem tni = new TransformNodeItem(); tni.Unserialize(reader); items.Add(tni); } trans.Order = VectorTransformation.TransformOrder.TranslateRotate; trans.Unserialize(reader); #if DEBUG trans.Name = this.ogn.FileName; #endif //trans.Rotation = Quaternion.FromAxisAngle(trans.Rotation.X, trans.Rotation.Y, trans.Rotation.Z, Quaternion.DegToRad(trans.Rotation.W)); unknown = reader.ReadInt32(); }