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
Returns
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
labelstringbakeFunc<int?, BakedLevel>defaultRangeYScalefloatresultsPassResult[]tickRateintmaxSecondsfloat
Returns
Report(LevelAsset)
Runs all passes on a level asset (its own geometry) and formats a report.
public static string Report(LevelAsset level)
Parameters
levelLevelAsset
Returns
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
levelLevelAssetresultsPassResult[]
Returns
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()