Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReadSign()

static int Terraria.Sign.ReadSign ( int i,
int j,
bool CreateIfMissing = true )
inlinestatic

Definition at line 24 of file Sign.cs.

25 {
26 int num = Main.tile[i, j].frameX / 18;
27 int num2 = Main.tile[i, j].frameY / 18;
28 num %= 2;
29 int num3 = i - num;
30 int num4 = j - num2;
31 if (!Main.tileSign[Main.tile[num3, num4].type])
32 {
33 KillSign(num3, num4);
34 return -1;
35 }
36 int num5 = -1;
37 for (int k = 0; k < 1000; k++)
38 {
39 if (Main.sign[k] != null && Main.sign[k].x == num3 && Main.sign[k].y == num4)
40 {
41 num5 = k;
42 break;
43 }
44 }
45 if (num5 < 0 && CreateIfMissing)
46 {
47 for (int l = 0; l < 1000; l++)
48 {
49 if (Main.sign[l] == null)
50 {
51 num5 = l;
52 Main.sign[l] = new Sign();
53 Main.sign[l].x = num3;
54 Main.sign[l].y = num4;
55 Main.sign[l].text = "";
56 break;
57 }
58 }
59 }
60 return num5;
61 }
static void KillSign(int x, int y)
Definition Sign.cs:13

References Terraria.Sign.KillSign(), Terraria.Main.sign, Terraria.Main.tile, and Terraria.Main.tileSign.

Referenced by Terraria.NetMessage.CompressTileBlock_Inner(), Terraria.MessageBuffer.GetData(), Terraria.Wiring.HitWireSingle(), Terraria.Player.TileInteractionsCheckLongDistance(), Terraria.Player.TileInteractionsMouseOver(), and Terraria.Player.TileInteractionsUse().