public static int ReadSign(int i, int j, bool CreateIfMissing = true)
{
int num1 = (int)Main.tile[i, j].frameX / 18;
int num2 = (int)Main.tile[i, j].frameY / 18;
int num3 = num1 % 2;
int x = i - num3;
int y = j - num2;
if (!Main.tileSign[(int)Main.tile[x, y].type])
{
Sign.KillSign(x, y);
return -1;
}
int num4 = -1;
for (int index = 0; index < 1000; ++index)
{
if (Main.sign[index] != null && Main.sign[index].x == x && Main.sign[index].y == y)
{
num4 = index;
break;
}
}
if (num4 < 0 && CreateIfMissing)
{
for (int index = 0; index < 1000; ++index)
{
if (Main.sign[index] == null)
{
num4 = index;
Main.sign[index] = new Sign();
Main.sign[index].x = x;
Main.sign[index].y = y;
Main.sign[index].text = "";
break;
}
}
}
return num4;
}