Class TowerTree

Namespace
TDMaker.Editor
Assembly
TDMaker.Editor.dll

Project-wide queries and undoable edits on tower upgrade graphs.

public static class TowerTree
Inheritance
TowerTree
Inherited Members

Methods

AllTowers()

Loads every TowerAsset in the project.

public static List<TowerAsset> AllTowers()

Returns

List<TowerAsset>

CreateUpgrade(TowerAsset, bool)

Creates a new tier next to parent (a copy with no upgrades), links it as an upgrade and returns it. The parent change is undoable; the new asset file stays on disk.

public static TowerAsset CreateUpgrade(TowerAsset parent, bool branch)

Parameters

parent TowerAsset
branch bool

Returns

TowerAsset

Investment(TowerAsset, List<TowerAsset>)

Gold spent to reach tower from its root along the first-parent chain.

public static int Investment(TowerAsset tower, List<TowerAsset> all = null)

Parameters

tower TowerAsset
all List<TowerAsset>

Returns

int

Parents(TowerAsset, List<TowerAsset>)

Towers whose upgrade list contains child.

public static List<TowerAsset> Parents(TowerAsset child, List<TowerAsset> all = null)

Parameters

child TowerAsset
all List<TowerAsset>

Returns

List<TowerAsset>

Root(TowerAsset, List<TowerAsset>)

Walks first parents up to the root of the tree (stops on cycles).

public static TowerAsset Root(TowerAsset tower, List<TowerAsset> all = null)

Parameters

tower TowerAsset
all List<TowerAsset>

Returns

TowerAsset

Removes the link from parent to child (the asset is kept).

public static void Unlink(TowerAsset parent, TowerAsset child)

Parameters

parent TowerAsset
child TowerAsset