private string CheckConsistency()
{
this.PrepareBones();
Hashtable hashtable = new Hashtable();
IEnumerator enumerator = this.bones.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
BoneInfo current = (BoneInfo) enumerator.Current;
if (current.anchor != null)
{
if (hashtable[current.anchor] != null)
{
BoneInfo info2 = (BoneInfo) hashtable[current.anchor];
return string.Format("{0} and {1} may not be assigned to the same bone.", current.name, info2.name);
}
hashtable[current.anchor] = current;
}
}
}
finally
{
IDisposable disposable = enumerator as IDisposable;
if (disposable != null)
{
disposable.Dispose();
}
}
IEnumerator enumerator2 = this.bones.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
BoneInfo info3 = (BoneInfo) enumerator2.Current;
if (info3.anchor == null)
{
return string.Format("{0} has not been assigned yet.\n", info3.name);
}
}
}
finally
{
IDisposable disposable2 = enumerator2 as IDisposable;
if (disposable2 != null)
{
disposable2.Dispose();
}
}
return "";
}