import{_ase,cast,oasa,Nasd}from"./chunks/framework.0799945b.js";constf=JSON.parse('{"title":"Module: features/upgrades/upgrade","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"api/modules/features/upgrade.md","lastUpdated":null}'),r={name:"api/modules/features/upgrade.md"},o=d('<h1id="module-features-upgrades-upgrade"tabindex="-1">Module:features/upgrades/upgrade<aclass="header-anchor"href="#module-features-upgrades-upgrade"aria-label="Permalink to "Module: features/upgrades/upgrade""></a></h1><h2id="interfaces"tabindex="-1">Interfaces<aclass="header-anchor"href="#interfaces"aria-label="Permalinkto"Interfaces""></a></h2><h3id="baseupgrade"tabindex="-1">BaseUpgrade<aclass="header-anchor"href="#baseupgrade"aria-label="Permalinkto"BaseUpgrade""></a></h3><p>•<strong>BaseUpgrade</strong>:<code>Object</code></p><p>Thepropertiesthatareaddedontoaprocessed<ahref="./upgrade#upgradeoptions">UpgradeOptions</a>tocreatean<ahref="./upgrade#upgrade">Upgrade</a>.</p><table><thead><tr><thstyle="text-align:left;">Name</th><thstyle="text-align:left;">Type</th><thstyle="text-align:left;">Description</th></tr></thead><tbody><tr><tdstyle="text-align:left;"><code>[Component]</code></td><tdstyle="text-align:left;"><ahref="./feature#genericcomponent"><code>GenericComponent</code></a></td><tdstyle="text-align:left;">TheVuecomponentusedtorenderthisfeature.</td></tr><tr><tdstyle="text-align:left;"><code>[GatherProps]</code></td><tdstyle="text-align:left;">()=><ahref="https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type"target="_blank"rel="noreferrer"><code>Record</code></a><<code>string</code>,<code>unknown</code>></td><tdstyle="text-align:left;">Afunctiontogatherthepropsthevuecomponentrequiresforthisfeature.</td></tr><tr><tdstyle="text-align:left;"><code>bought</code></td><tdstyle="text-align:left;"><ahref="./../game/persistence#persistent"><code>Persistent</code></a><<code>boolean</code>></td><tdstyle="text-align:left;">Whetherornotthisupgradehasbeenpurchased.</td></tr><tr><tdstyle="text-align:left;"><code>canPurchase</code></td><tdstyle="text-align:left;"><code>Ref</code><<code>boolean</code>></td><tdstyle="text-align:left;">Whetherornottheupgradecancurrentlybepurchased.</td></tr><tr><tdstyle="text-align:left;"><code>id</code></td><tdstyle="text-align:left;"><code>string</code></td><tdstyle="text-align:left;">Anauto-generatedIDforidentifyingfeaturesthatappearintheDOM.Willnotpersistbetweenrefreshesorupdates.</td></tr><tr><tdstyle="text-align:left;"><code>purchase</code></td><tdstyle="text-align:left;"><code>VoidFunction</code></td><tdstyle="text-align:left;">Purchasetheupgrade</td></tr><tr><tdstyle="text-align:left;"><code>type</code></td><tdstyle="text-align:left;">typeof<ahref="./upgrade#upgradetype"><code>UpgradeType</code></a></td><tdstyle="text-align:left;">Asymbolthathelpsidentifyfeaturesofthesametype.</td></tr></tbody></table><h4id="defined-in"tabindex="-1">Definedin<aclass="header-anchor"href="#defined-in"aria-label="Permalinkto"Definedin""></a></h4><p><ahref="https://github.com/profectus-engine/Profectus/blob/8c0a0c4/src/features/upgrades/upgrade.ts#L75"target="_blank"rel="noreferrer">profectus/src/features/upgrades/upgrade.ts:75</a></p><hr><h3id="upgradeoptions"tabindex="-1">UpgradeOptions<aclass="header-anchor"href="#upgradeoptions"aria-label="Permalinkto"UpgradeOptions""></a></h3><p>•<strong>UpgradeOptions</strong>:<code>Object</code></p><p>Anobjectthatconfiguresa<ahref="./upgrade#upgrade">Upgrade</a>.</p><table><thead><tr><thstyle="text-align:left;">Name</th><thstyle="text-align:left;">Type</th><thstyle="text-align:left;">Description</th></tr></thead><tbody><tr><tdstyle="text-align:left;"><code>classes?</code></td><tdstyle="text-align:left;"><ahref="./../util/computed#computable"><code>Computable</code></a><<a