ace/Source/ACE.DatLoader/Entity/StringTableData.cs
gmriggs b215a34ce7
Improving DatLoader for third-party apps (#1092)
* Improving DatLoader for third-party apps

* Adding some missing filetypes (thanks OptimShi!)

* Adding more enums, using SmartArray

* Re-adding loadCell

* Reverting to UInt32
2018-11-22 01:33:17 -05:00

40 lines
1.3 KiB
C#

using System;
using System.IO;
using System.Collections.Generic;
namespace ACE.DatLoader.Entity
{
public class StringTableData : IUnpackable
{
public uint Id { get; private set; }
public List<string> VarNames { get; } = new List<string>();
public List<string> Vars { get; } = new List<string>();
public List<string> Strings { get; } = new List<string>();
public List<uint> Comments { get; } = new List<uint>();
public byte Unknown { get; private set; }
public void Unpack(BinaryReader reader)
{
Id = reader.ReadUInt32();
var num_varnames = reader.ReadUInt16();
for (uint i = 0; i < num_varnames; i++)
VarNames.Add(reader.ReadUnicodeString());
var num_vars = reader.ReadUInt16();
for (uint i = 0; i < num_vars; i++)
Vars.Add(reader.ReadUnicodeString());
var num_strings = reader.ReadUInt32();
for (uint i = 0; i < num_strings; i++)
Strings.Add(reader.ReadUnicodeString());
var num_comments = reader.ReadUInt32();
for (uint i = 0; i < num_comments; i++)
Comments.Add(reader.ReadUInt32());
Unknown = reader.ReadByte();
}
}
}