Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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();
        }