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