示例#1
0
        public void Serialize(LevelSerializeContext context)
        {
            context.WriteAnimationSet(AnimationSet);
            context.bw.Write(Position);
            context.bw.Write(FacingLeft);
            context.bw.Write(parallaxX);
            context.bw.Write(parallaxY);
            context.bw.Write(animationNumber);
            context.bw.WriteNullableString(ambientSoundSource);

            if (context.Version >= 14)
            {
                context.bw.Write(tag);
            }

            if (context.Version >= 16)
            {
                context.bw.Write(properties.Count);
                foreach (var kvp in properties)
                {
                    context.bw.Write(kvp.Key);
                    context.bw.Write(kvp.Value ?? string.Empty); // (null value should probably be blocked by editor, but being safe...)
                }
            }
        }
示例#2
0
 public virtual void Serialize(LevelSerializeContext context)
 {
     context.bw.Write(position);
     context.bw.Write(properties.Count);
     foreach (var kvp in properties)
     {
         context.bw.Write(kvp.Key);
         context.bw.Write(kvp.Value ?? string.Empty); // (null value should probably be blocked by editor, but being safe...)
     }
 }
示例#3
0
        public override void Serialize(LevelSerializeContext context)
        {
            if (TargetLevel != null)
            {
                TargetLevel = TargetLevel.ToLowerInvariant();
            }
            context.bw.WriteNullableString(TargetLevel);
            context.bw.WriteNullableString(targetSpawn);

            if (context.Version >= 18)
            {
                context.bw.Write(neverSelectAtRandom);
            }

            base.Serialize(context);
        }
示例#4
0
        public void Serialize(LevelSerializeContext context)
        {
            context.WriteAnimationSet(AnimationSet);

            context.bw.Write(Position);
            context.bw.Write(FacingLeft);

            context.bw.WriteNullableString(overrideBehaviour);

            context.bw.Write(includeInNavigation);

            // Properties
            {
                context.bw.Write(properties.Count);
                foreach (var kvp in properties)
                {
                    context.bw.Write(kvp.Key);
                    context.bw.Write(kvp.Value ?? string.Empty); // (null value should probably be blocked by editor, but being safe...)
                }
            }
        }
示例#5
0
        public virtual void Serialize(LevelSerializeContext context)
        {
            Debug.Assert(!Asserts.enabled || mask.Valid);
            mask.Serialize(context.bw);

            if (context.Version >= 15)
            {
                context.bw.Write(startY);

                if (context.Version < 17 && endY != beforeVersion17WorldPhysicsMaximumHeight)
                {
                    context.bw.Write(endY - 1); // <- Old version had an inclusive upper bound
                }
                else
                {
                    context.bw.Write(endY);
                }
            }

            if (!context.monitor)
            {
                regionIndex = context.nextRegionIndex++;
            }
        }