using LibXom.Data; using LibXom.Streams; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LibW4M.Data.X { public class IntResourceDetail : ResourceDetail { public IntResourceDetail(W4SaveFile fileBelongs, XomContainer mainContainer, bool load=true) : base(fileBelongs, mainContainer, load) { } public override void Load() { using (XomStreamReader reader = new XomStreamReader(new MemoryStream(this.mainContainer.GetData()))) { reader.Skip(3); this.Value = reader.ReadInt32(); this.Name = this.fileBelongs.LookupStringFromId(reader.ReadCompressedInt()); this.Flags = reader.ReadInt32(); } } public override void Save() { using (MemoryStream ms = new MemoryStream()) { using (XomStreamWriter writer = new XomStreamWriter(ms)) { writer.Skip(3); writer.WriteInt32(this.Value); writer.WriteCompressedInt(this.Name.Id); writer.WriteInt32(this.Flags); ms.Seek(0x00, SeekOrigin.Begin); mainContainer.SetData(ms.ToArray()); } } } } }