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

◆ Place()

override bool Terraria.WorldBuilding.SimpleStructure.Place ( Point origin,
StructureMap structures )
inline

Definition at line 68 of file SimpleStructure.cs.

69 {
70 if (!structures.CanPlace(new Rectangle(origin.X, origin.Y, _width, _height)))
71 {
72 return false;
73 }
74 for (int i = 0; i < _width; i++)
75 {
76 for (int j = 0; j < _height; j++)
77 {
78 int num = (_xMirror ? (-i) : i);
79 int num2 = (_yMirror ? (-j) : j);
80 if (_data[i, j] != -1 && !_actions[_data[i, j]].Apply(origin, num + origin.X, num2 + origin.Y))
81 {
82 return false;
83 }
84 }
85 }
86 structures.AddProtectedStructure(new Rectangle(origin.X, origin.Y, _width, _height));
87 return true;
88 }

References Terraria.WorldBuilding.SimpleStructure._actions, Terraria.WorldBuilding.SimpleStructure._data, Terraria.WorldBuilding.SimpleStructure._height, Terraria.WorldBuilding.SimpleStructure._width, Terraria.WorldBuilding.SimpleStructure._xMirror, Terraria.WorldBuilding.SimpleStructure._yMirror, Terraria.WorldBuilding.StructureMap.AddProtectedStructure(), Terraria.WorldBuilding.StructureMap.CanPlace(), Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.