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

◆ Perform()

override bool Terraria.WorldBuilding.Shapes.HalfCircle.Perform ( Point origin,
GenAction action )
inline

Definition at line 61 of file Shapes.cs.

62 {
63 int num = (_radius + 1) * (_radius + 1);
64 for (int i = origin.Y - _radius; i <= origin.Y; i++)
65 {
66 int num2 = Math.Min(_radius, (int)Math.Sqrt(num - (i - origin.Y) * (i - origin.Y)));
67 for (int j = origin.X - num2; j <= origin.X + num2; j++)
68 {
69 if (!UnitApply(action, origin, j, i) && _quitOnFail)
70 {
71 return false;
72 }
73 }
74 }
75 return true;
76 }
static byte Min(byte val1, byte val2)
Definition Math.cs:912
static double Sqrt(double d)
bool UnitApply(GenAction action, Point origin, int x, int y, params object[] args)
Definition GenShape.cs:13

References Terraria.WorldBuilding.GenShape._quitOnFail, Terraria.WorldBuilding.Shapes.HalfCircle._radius, System.action, System.Math.Min(), System.Math.Sqrt(), Terraria.WorldBuilding.GenShape.UnitApply(), Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.