62 lines
1.7 KiB
C#
62 lines
1.7 KiB
C#
// 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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|