コード例 #1
0
        public override void Serialize(ISerializationContext context)
        {
            context.WriteDefaultHeader();

            context.Write(this.IsStatic);
            context.Write(this.Density);
            context.Write(this.Width);
            context.Write(this.Height);
        }
コード例 #2
0
ファイル: Wall.cs プロジェクト: tivtag/Fly
        public override void Serialize(ISerializationContext context)
        {
            context.WriteDefaultHeader();

            context.Write(this.Position);
            context.Write(this.Rotation);

            context.WriteObject(this.Physics.FixtureDescription);
            context.WriteObject(this.DrawStrategy);
        }
コード例 #3
0
        public override void Serialize(ISerializationContext context)
        {
            context.WriteDefaultHeader();

            context.Write(this.Position);
            context.Write(this.Rotation);

            context.WriteObject(this.DrawStrategy);
            this.Physics.Serialize(context);
            this.Destroyable.Serialize(context);
        }
コード例 #4
0
ファイル: ContextExtensions.cs プロジェクト: tivtag/Fly
        /// <summary>
        /// Writes the given <see cref="Object"/>.
        /// </summary>
        /// <param name="context">
        /// The context under which the serialization process takes place.
        /// Provides access to required objects.
        /// </param>
        /// <param name="object">
        /// The object to serialize.
        /// </param>
        public static void WriteObject(this ISerializationContext context, object @object)
        {
            var obj = (ISaveable)@object;

            if (obj != null)
            {
                string typeName = obj.GetType().GetTypeName();
                context.Write(typeName);

                obj.Serialize(context);
            }
            else
            {
                context.Write(string.Empty);
            }
        }
コード例 #5
0
ファイル: ContextExtensions.cs プロジェクト: tivtag/Fly
        /// <summary>
        /// Writes a default version header to the ISerializationContext.
        /// </summary>
        /// <param name="context">
        /// The context under which the serialization process takes place.
        /// Provides access to required objects.
        /// </param>
        public static void WriteDefaultHeader(this ISerializationContext context)
        {
            const int Version = 1;

            context.Write(Version);
        }
コード例 #6
0
ファイル: ContextExtensions.cs プロジェクト: tivtag/Fly
 /// <summary>
 /// Writes a version header to the ISerializationContext.
 /// </summary>
 /// <param name="context">
 /// The context under which the serialization process takes place.
 /// Provides access to required objects.
 /// </param>
 /// <param name="version">
 /// The current version of the object to serialize.
 /// </param>
 public static void WriteHeader(this ISerializationContext context, int version)
 {
     context.Write(version);
 }