void Initialize(Stream stream, int index)
{
if (stream != null)
{
bool isDone = false;
stream.Position = index;
if (Convert.ToByte(stream.ReadByte()) == 255)
{
isDone = true;
return;
}
stream.Position = index++;
if (index < stream.Length && !isDone )
{
X = Convert.ToByte(stream.ReadByte());
if (Convert.ToByte(stream.ReadByte()) == 255)
{
isDone = true;
return;
}
stream.Position = ++index;
}
if (index < stream.Length && !isDone)
{
Y = Convert.ToByte(stream.ReadByte());
if (Convert.ToByte(stream.ReadByte()) == 255)
{
isDone = true;
return;
}
stream.Position = ++index;
}
if (index < stream.Length && !isDone)
{
Z = Convert.ToByte(stream.ReadByte());
if (Convert.ToByte(stream.ReadByte()) == 255)
{
isDone = true;
return;
}
stream.Position = ++index;
}
if (index < stream.Length - 4 && !isDone)
{
byte[] buffer = new byte[4];
stream.Read(buffer, 0, 4);
Damage = BitConverter.ToSingle(buffer, 0);
}
else
{
isDone = true;
}
}
}
//This contains a list of system nodes, terminated with 0xff. Each system node is formatted as follows: