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

◆ FindRoom()

static Rectangle Terraria.GameContent.Biomes.CaveHouse.HouseUtils.FindRoom ( Point origin)
inlinestaticprivate

Definition at line 68 of file HouseUtils.cs.

69 {
70 Point result;
71 bool flag = WorldUtils.Find(origin, Searches.Chain(new Searches.Left(25), new Conditions.IsSolid()), out result);
73 bool num = WorldUtils.Find(origin, Searches.Chain(new Searches.Right(25), new Conditions.IsSolid()), out result2);
74 if (!flag)
75 {
76 result = new Point(origin.X - 25, origin.Y);
77 }
78 if (!num)
79 {
80 result2 = new Point(origin.X + 25, origin.Y);
81 }
82 Rectangle result3 = new Rectangle(origin.X, origin.Y, 0, 0);
83 if (origin.X - result.X > result2.X - origin.X)
84 {
85 result3.X = result.X;
86 result3.Width = Utils.Clamp(result2.X - result.X, 15, 30);
87 }
88 else
89 {
90 result3.Width = Utils.Clamp(result2.X - result.X, 15, 30);
91 result3.X = result2.X - result3.Width;
92 }
94 bool flag2 = WorldUtils.Find(result, Searches.Chain(new Searches.Up(10), new Conditions.IsSolid()), out result4);
97 if (!flag2)
98 {
99 result4 = new Point(origin.X, origin.Y - 10);
100 }
101 if (!num2)
102 {
103 result5 = new Point(origin.X, origin.Y - 10);
104 }
105 result3.Height = Utils.Clamp(Math.Max(origin.Y - result4.Y, origin.Y - result5.Y), 8, 12);
106 result3.Y -= result3.Height;
107 return result3;
108 }
static byte Max(byte val1, byte val2)
Definition Math.cs:738
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
Definition Searches.cs:123
static bool Find(Point origin, GenSearch search, out Point result)
Definition WorldUtils.cs:27

References Terraria.WorldBuilding.Searches.Chain(), Terraria.WorldBuilding.WorldUtils.Find(), System.Math.Max(), Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.GameContent.Biomes.CaveHouse.HouseUtils.CreateRooms().