Class LevelDryRun

Namespace
TDMaker.Editor
Assembly
TDMaker.Editor.dll

Headless content check: bakes a level and runs the simulation without rendering. The undefended run calls every wave as early as possible with no towers (shows total threat); the fortified run builds and upgrades towers on every slot with unlimited gold, buys every tower ability, spawns the level's heroes (moving them to the front enemy and spending skill points), and casts ready spells at the leading enemy (checks that every build, branch, rally, ability, move and cast is accepted and that the level can be completed). The budget pass plays with the level's real starting gold: it starts the first wave, lets later waves arrive on their timers and spends gold greedily (builds slots in list order, cycling the buildable towers, then the cheapest upgrade, branch or ability rank), with the same hero and spell assistance (checks that a sensible defense wins).

public static class LevelDryRun
Inheritance
LevelDryRun
Inherited Members

Methods

Report(string, Func<int?, BakedLevel>, float, int, float)

Runs all passes and formats a report.

public static string Report(string label, Func<int?, BakedLevel> bake, float defaultRangeYScale, int tickRate = 30, float maxSeconds = 1800)

Parameters

label string
bake Func<int?, BakedLevel>
defaultRangeYScale float
tickRate int
maxSeconds float

Returns

string

Report(string, Func<int?, BakedLevel>, float, out PassResult[], int, float)

Runs all passes, formats a report and returns each pass' outcome (passes that threw are missing).

public static string Report(string label, Func<int?, BakedLevel> bake, float defaultRangeYScale, out LevelDryRun.PassResult[] results, int tickRate = 30, float maxSeconds = 1800)

Parameters

label string
bake Func<int?, BakedLevel>
defaultRangeYScale float
results PassResult[]
tickRate int
maxSeconds float

Returns

string

Report(LevelAsset)

Runs all passes on a level asset (its own geometry) and formats a report.

public static string Report(LevelAsset level)

Parameters

level LevelAsset

Returns

string

Report(LevelAsset, out PassResult[])

Runs all passes on a level asset (its own geometry), formats a report and returns each pass' outcome.

public static string Report(LevelAsset level, out LevelDryRun.PassResult[] results)

Parameters

level LevelAsset
results PassResult[]

Returns

string

RunSample()

Dry-runs every generated sample level (Basic, Crossroads, Winding Pass); usable with -executeMethod. Add -dryRunLevel <asset path> to run one level asset instead.

public static void RunSample()