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

◆ Perform()

override bool Terraria.WorldBuilding.ModShapes.InnerOutline.Perform ( Point origin,
GenAction action )
inline

Definition at line 84 of file ModShapes.cs.

85 {
86 int num = (_useDiagonals ? 16 : 8);
87 foreach (Point16 datum in _data.GetData())
88 {
89 bool flag = false;
90 for (int i = 0; i < num; i += 2)
91 {
92 if (!_data.Contains(datum.X + POINT_OFFSETS[i], datum.Y + POINT_OFFSETS[i + 1]))
93 {
94 flag = true;
95 break;
96 }
97 }
98 if (flag && !UnitApply(action, origin, datum.X + origin.X, datum.Y + origin.Y) && _quitOnFail)
99 {
100 return false;
101 }
102 }
103 return true;
104 }
bool UnitApply(GenAction action, Point origin, int x, int y, params object[] args)
Definition GenShape.cs:13
HashSet< Point16 > GetData()
Definition ShapeData.cs:35
bool Contains(int x, int y)
Definition ShapeData.cs:45

References Terraria.WorldBuilding.GenModShape._data, Terraria.WorldBuilding.GenShape._quitOnFail, Terraria.WorldBuilding.ModShapes.InnerOutline._useDiagonals, Terraria.WorldBuilding.ShapeData.Contains(), Terraria.WorldBuilding.ShapeData.GetData(), Terraria.WorldBuilding.ModShapes.InnerOutline.POINT_OFFSETS, Terraria.WorldBuilding.GenShape.UnitApply(), Terraria.DataStructures.Point16.X, and Terraria.DataStructures.Point16.Y.