public static void UpdateDummies()
{
Dictionary<int, Rectangle> dictionary = new Dictionary<int, Rectangle>();
bool flag1 = false;
Rectangle rectangle = new Rectangle(0, 0, 32, 48);
rectangle.Inflate(1600, 1600);
int num1 = rectangle.X;
int num2 = rectangle.Y;
for (int index1 = 0; index1 < 1000; ++index1)
{
if (TargetDummy.dummies[index1] != null)
{
TargetDummy.dummies[index1].whoAmI = index1;
if (TargetDummy.dummies[index1].npc != -1)
{
if (!Main.npc[TargetDummy.dummies[index1].npc].active || Main.npc[TargetDummy.dummies[index1].npc].type != 488 || ((double)Main.npc[TargetDummy.dummies[index1].npc].ai[0] != (double)TargetDummy.dummies[index1].x || (double)Main.npc[TargetDummy.dummies[index1].npc].ai[1] != (double)TargetDummy.dummies[index1].y))
TargetDummy.dummies[index1].Deactivate();
}
else
{
if (!flag1)
{
for (int index2 = 0; index2 < (int)byte.MaxValue; ++index2)
{
if (Main.player[index2].active)
dictionary[index2] = Main.player[index2].getRect();
}
flag1 = true;
}
rectangle.X = (int)TargetDummy.dummies[index1].x * 16 + num1;
rectangle.Y = (int)TargetDummy.dummies[index1].y * 16 + num2;
bool flag2 = false;
foreach (KeyValuePair<int, Rectangle> keyValuePair in dictionary)
{
if (keyValuePair.Value.Intersects(rectangle))
{
flag2 = true;
break;
}
}
if (flag2)
TargetDummy.dummies[index1].Activate();
}
}
}
}