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

◆ CreateSupportBeamList()

List< Rectangle > Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.CreateSupportBeamList ( )
inlineprivateinherited

Definition at line 297 of file HouseBuilder.cs.

298 {
300 int num = Rooms.Min((Rectangle room) => room.Left);
301 int num2 = Rooms.Max((Rectangle room) => room.Right) - 1;
302 int num3 = 6;
303 while (num3 > 4 && (num2 - num) % num3 != 0)
304 {
305 num3--;
306 }
307 for (int i = num; i <= num2; i += num3)
308 {
309 for (int j = 0; j < Rooms.Count; j++)
310 {
313 {
314 continue;
315 }
316 int num4 = rectangle.Y + rectangle.Height;
317 int num5 = 50;
318 for (int k = j + 1; k < Rooms.Count; k++)
319 {
320 if (i >= Rooms[k].X && i < Rooms[k].X + Rooms[k].Width)
321 {
322 num5 = Math.Min(num5, Rooms[k].Y - num4);
323 }
324 }
325 if (num5 > 0)
326 {
327 Point result;
328 bool flag = WorldUtils.Find(new Point(i, num4), Searches.Chain(new Searches.Down(num5), new Conditions.IsSolid()), out result);
329 if (num5 < 50)
330 {
331 flag = true;
332 result = new Point(i, num4 + num5);
333 }
334 if (flag)
335 {
336 list.Add(new Rectangle(i, num4, 1, result.Y - num4));
337 }
338 }
339 }
340 }
341 return list;
342 }
static byte Min(byte val1, byte val2)
Definition Math.cs:912
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(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.WorldBuilding.WorldUtils.Find(), System.list, System.Math.Min(), Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.Rooms, System.X, Microsoft.Xna.Framework.Point.Y, and System.Y.

Referenced by Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.PlaceSupportBeams().