// Decompiled with JetBrains decompiler // Type: Terraria.World.Generation.Passes // Assembly: Terraria, Version=1.3.5.3, Culture=neutral, PublicKeyToken=null // MVID: 68659D26-2BE6-448F-8663-74FA559E6F08 // Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe namespace Terraria.World.Generation { public static class Passes { public class Clear : GenPass { public Clear() : base("clear", 1f) { } public override void Apply(GenerationProgress progress) { for (int index1 = 0; index1 < GenBase._worldWidth; ++index1) { for (int index2 = 0; index2 < GenBase._worldHeight; ++index2) { if (GenBase._tiles[index1, index2] == null) GenBase._tiles[index1, index2] = new Tile(); else GenBase._tiles[index1, index2].ClearEverything(); } } } } public class ScatterCustom : GenPass { private GenBase.CustomPerUnitAction _perUnit; private int _count; public ScatterCustom( string name, float loadWeight, int count, GenBase.CustomPerUnitAction perUnit = null) : base(name, loadWeight) { this._perUnit = perUnit; this._count = count; } public void SetCustomAction(GenBase.CustomPerUnitAction perUnit) => this._perUnit = perUnit; public override void Apply(GenerationProgress progress) { int count = this._count; while (count > 0) { if (this._perUnit(GenBase._random.Next(1, GenBase._worldWidth), GenBase._random.Next(1, GenBase._worldHeight), new object[0])) --count; } } } } }