Terraria.Sign.ReadSign C# (CSharp) Method

ReadSign() public static method

public static ReadSign ( int i, int j, bool CreateIfMissing = true ) : int
i int
j int
CreateIfMissing bool
return int
        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;
        }