Class UpgradeShopWindow

Namespace
TDMaker.Editor
Assembly
TDMaker.Editor.dll

Tools > 2D Tower Defense Maker > Upgrade Shop: edits an UpgradeShopAsset as a grid (tracks as columns, ranks as cells). Add, remove and reorder tracks and ranks, fill a track's prices from its first and last price with a back-loaded curve, edit the selected rank's effects (each with a readable summary), preview a tower's, unit's or spell's stats before and after the upgrades with the core rewriter, and see the validation problems. Every edit is undoable.

public sealed class UpgradeShopWindow : EditorWindow
Inheritance
Object
ScriptableObject
EditorWindow
UpgradeShopWindow
Inherited Members
EditorWindow.focusedWindowChanged
EditorWindow.BeginWindows()
EditorWindow.EndWindows()
EditorWindow.ShowNotification(GUIContent)
EditorWindow.RemoveNotification()
EditorWindow.ShowTab()
EditorWindow.Focus()
EditorWindow.ShowUtility()
EditorWindow.ShowPopup()
EditorWindow.ShowModalUtility()
EditorWindow.ShowAsDropDown(Rect, Vector2)
EditorWindow.Show()
EditorWindow.ShowAuxWindow()
EditorWindow.ShowModal()
EditorWindow.GetWindow<T>()
EditorWindow.HasOpenInstances<T>()
EditorWindow.FocusWindowIfItsOpen<T>()
EditorWindow.GetWindowWithRect<T>(Rect)
EditorWindow.SaveChanges()
EditorWindow.DiscardChanges()
EditorWindow.Close()
EditorWindow.Repaint()
EditorWindow.SendEvent(Event)
EditorWindow.GetExtraPaneTypes()
EditorWindow.dataModeController
EditorWindow.rootVisualElement
EditorWindow.overlayCanvas
EditorWindow.wantsMouseMove
EditorWindow.wantsMouseEnterLeaveWindow
EditorWindow.wantsLessLayoutEvents
EditorWindow.autoRepaintOnSceneChange
EditorWindow.maximized
EditorWindow.hasFocus
EditorWindow.docked
EditorWindow.focusedWindow
EditorWindow.mouseOverWindow
EditorWindow.hasUnsavedChanges
EditorWindow.saveChangesMessage
EditorWindow.minSize
EditorWindow.maxSize
EditorWindow.title
EditorWindow.titleContent
EditorWindow.depthBufferBits
EditorWindow.antiAlias
EditorWindow.position
EditorWindow.windowFocusChanged
ScriptableObject.SetDirty()
ScriptableObject.CreateInstance<T>()
Object.GetEntityId()
Object.GetInstanceID()
Object.GetHashCode()
Object.InstantiateAsync<T>(T)
Object.InstantiateAsync<T>(T, Transform)
Object.InstantiateAsync<T>(T, Vector3, Quaternion)
Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion)
Object.Instantiate(Object, Vector3, Quaternion, Transform)
Object.Instantiate(Object)
Object.Instantiate(Object, Scene)
Object.Instantiate<T>(T, InstantiateParameters)
Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
Object.Instantiate(Object, Transform)
Object.Instantiate<T>(T)
Object.Instantiate<T>(T, Vector3, Quaternion)
Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
Object.Instantiate<T>(T, Transform)
Object.Destroy(Object)
Object.DestroyImmediate(Object)
Object.DontDestroyOnLoad(Object)
Object.DestroyObject(Object)
Object.FindObjectsOfType<T>()
Object.FindObjectsByType<T>(FindObjectsSortMode)
Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
Object.FindObjectOfType<T>()
Object.FindFirstObjectByType<T>()
Object.FindAnyObjectByType<T>()
Object.FindFirstObjectByType<T>(FindObjectsInactive)
Object.FindAnyObjectByType<T>(FindObjectsInactive)
Object.FindObjectsByType<T>()
Object.FindObjectsByType<T>(FindObjectsInactive)
Object.ToString()
Object.name
Object.hideFlags

Constructors

UpgradeShopWindow()

public UpgradeShopWindow()

Methods

CostCurve(int, int, int, float)

Back-loaded price curve: first + (last − first) × t^power with t from 0 to 1 over the ranks, rounded and never decreasing (power above 1 keeps early ranks cheap).

public static int[] CostCurve(int first, int last, int count, float power)

Parameters

first int
last int
count int
power float

Returns

int[]

Open(UpgradeShopAsset)

Opens the window on asset (null keeps the current shop or finds one in the project).

public static UpgradeShopWindow Open(UpgradeShopAsset asset)

Parameters

asset UpgradeShopAsset

Returns

UpgradeShopWindow