internal InteractionObject(Project p, int i) : base(p, i)
{
try {
objectData = p.GetData("interactionData", ID * 3);
// If this points to more data, follow the pointer
if (objectData.GetNumValues() == 1)
{
string label = objectData.GetValue(0);
objectData = p.GetData(label);
int count = SubID;
while (count > 0 && (objectData.GetIntValue(1) & 0x80) == 0)
{
count--;
objectData = objectData.NextData;
}
}
b0 = (byte)objectData.GetIntValue(0);
b1 = (byte)objectData.GetIntValue(1);
b2 = (byte)objectData.GetIntValue(2);
}
catch (InvalidLookupException) {
objectData = null;
}
catch (FormatException) {
objectData = null;
}
}