/// <summary> /// Saves the file to the specified stream. /// </summary> /// <param name="stream">The stream to save to.</param> public override void Save(Stream stream) { BinaryWriter writer = new BinaryWriter(stream, CodePagesEncodingProvider.Instance.GetEncoding("EUC-KR")); writer.Write((short)SkeletonFiles.Count); SkeletonFiles.ForEach(file => { writer.WriteString(file); writer.Write((byte)0); }); writer.Write((short)MotionFiles.Count); MotionFiles.ForEach(file => { writer.WriteString(file); writer.Write((byte)0); }); writer.Write((short)EffectFiles.Count); EffectFiles.ForEach(file => { writer.WriteString(file); writer.Write((byte)0); }); writer.Write((short)Characters.Count); Characters.ForEach(character => { writer.Write(character.IsEnabled); if (character.IsEnabled) { writer.Write(character.ID); writer.WriteString(character.Name); writer.Write((byte)0); writer.Write((short)character.Objects.Count); character.Objects.ForEach(@object => { writer.Write(@object.Object); }); writer.Write((short)character.Animations.Count); character.Animations.ForEach(animation => { writer.Write((short)animation.Type); writer.Write(animation.Animation); }); writer.Write((short)character.Effects.Count); character.Effects.ForEach(effect => { writer.Write(effect.Bone); writer.Write(effect.Effect); }); } }); }