internal void Write(Writer writer) { // Write zone name writer.WriteRSDKString(Title); // Write the five "display" bytes writer.Write(ActiveLayer0); writer.Write(ActiveLayer1); writer.Write(ActiveLayer2); writer.Write(ActiveLayer3); writer.Write(Midpoint); // Write width writer.Write((byte)(this.width & 0xff)); writer.Write((byte)(this.width >> 8)); // Write height writer.Write((byte)(this.height & 0xff)); writer.Write((byte)(this.height >> 8)); // Write tilemap for (int h = 0; h < this.height; h++) { for (int w = 0; w < this.width; w++) { writer.Write((byte)(this.MapLayout[h][w] & 0xff)); writer.Write((byte)(this.MapLayout[h][w] >> 8)); } } // Write number of objects if (objects.Count >= MaxObjectCount) { Console.WriteLine("Object Count > Max Objects!"); return; } writer.Write((ushort)objects.Count); // Write objects objects = objects.OrderBy(o => o.id).ToList(); for (int n = 0; n < objects.Count; n++) { Object obj = objects[n]; obj.Write(writer); } writer.Close(); }
internal void WriteWAVConfiguration(Writer writer) { writer.Write((byte)SoundFX.Count); foreach (string wavname in SfxNames) { writer.WriteRSDKString(wavname); } foreach (string wav in SoundFX) { writer.Write(wav); } }
public void Write(Writer writer) { writer.Write((byte)SpriteSheets.Count); for (int i = 0; i < SpriteSheets.Count; ++i) { writer.WriteRSDKString(SpriteSheets[i]); } writer.Write((byte)Animations.Count); for (int i = 0; i < Animations.Count; ++i) { Animations[i].Write(writer); } writer.Write((byte)CollisionBoxes.Count); for (int i = 0; i < CollisionBoxes.Count; ++i) { CollisionBoxes[i].Write(writer); } writer.Close(); }
public void Write(Writer writer) { writer.WriteRSDKString(Name); writer.Write(Value); }