internal bool LoadCSharp()
{
if (CSharpPos == 0 || CSharpLength == 0)
return false;
if (CSharp != null)
return true;
using (FileStream DatStream = new FileStream(XRay.DatPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
DatStream.Position = CSharpPos;
CSharp = DatStream.Read(CSharpLength);
}
// read byte stream and build html
var code = new StringBuilder();
// format - id, length, string
var stream = new MemoryStream(CSharp);
while (stream.Position < stream.Length)
{
var id = BitConverter.ToInt32(stream.Read(4), 0);
var strlen = BitConverter.ToInt32(stream.Read(4), 0);
string text = UTF8Encoding.UTF8.GetString(stream.Read(strlen));
code.Append(text);
}
PlainCSharp = code.ToString();
return true;
}