Module: features/upgrades/upgrade
Interfaces
BaseUpgrade
• BaseUpgrade: Object
The properties that are added onto a processed UpgradeOptions to create an Upgrade.
Name | Type | Description |
---|---|---|
[Component] | GenericComponent | The Vue component used to render this feature. |
[GatherProps] | () => Record <string , unknown > | A function to gather the props the vue component requires for this feature. |
bought | Persistent <boolean > | Whether or not this upgrade has been purchased. |
canPurchase | Ref <boolean > | Whether or not the upgrade can currently be purchased. |
id | string | An auto-generated ID for identifying features that appear in the DOM. Will not persist between refreshes or updates. |
purchase | VoidFunction | Purchase the upgrade |
type | typeof UpgradeType | A symbol that helps identify features of the same type. |
Defined in
profectus/src/features/upgrades/upgrade.ts:76
UpgradeOptions
• UpgradeOptions: Object
An object that configures a Upgrade.
Name | Type | Description |
---|---|---|
classes? | Computable <Record <string , boolean >> | Dictionary of CSS classes to apply to this feature. |
display? | Computable <CoercableComponent | { description : CoercableComponent ; effectDisplay? : CoercableComponent ; title? : CoercableComponent }> | The display to use for this clickable. |
mark? | Computable <string | boolean > | Shows a marker on the corner of the feature. |
onPurchase? | VoidFunction | A function that is called when the upgrade is purchased. |
requirements | Requirements | The requirements to purchase this upgrade. |
style? | Computable <StyleValue > | CSS to apply to this feature. |
visibility? | Computable <boolean | Visibility > | Whether this clickable should be visible. |
Defined in
profectus/src/features/upgrades/upgrade.ts:46
Type Aliases
GenericUpgrade
Ƭ GenericUpgrade: Replace
<Upgrade
<UpgradeOptions
>, { visibility
: ProcessedComputable
<Visibility
| boolean
> }>
A type that matches any valid Upgrade object.
Defined in
profectus/src/features/upgrades/upgrade.ts:107
Upgrade
Ƭ Upgrade<T
>: Replace
<T
& BaseUpgrade
, { classes
: GetComputableType
<T
["classes"
]> ; display
: GetComputableType
<T
["display"
]> ; mark
: GetComputableType
<T
["mark"
]> ; requirements
: GetComputableType
<T
["requirements"
]> ; style
: GetComputableType
<T
["style"
]> ; visibility
: GetComputableTypeWithDefault
<T
["visibility"
], Visible
> }>
An object that represents a feature that can be purchased a single time.
Type parameters
Name | Type |
---|---|
T | extends UpgradeOptions |
Defined in
profectus/src/features/upgrades/upgrade.ts:94
Variables
UpgradeType
• Const
UpgradeType: typeof UpgradeType
A symbol used to identify Upgrade features.
Defined in
profectus/src/features/upgrades/upgrade.ts:41
Functions
createUpgrade
▸ createUpgrade<T
>(optionsFunc
, ...decorators
): Upgrade
<T
>
Lazily creates an upgrade with the given options.
Type parameters
Name | Type |
---|---|
T | extends UpgradeOptions |
Parameters
Name | Type | Description |
---|---|---|
optionsFunc | OptionsFunc <T , BaseUpgrade , GenericUpgrade > | Upgrade options. |
...decorators | GenericDecorator [] | - |
Returns
Upgrade
<T
>
Defined in
profectus/src/features/upgrades/upgrade.ts:118
setupAutoPurchase
▸ setupAutoPurchase(layer
, autoActive
, upgrades?
): void
Utility to auto purchase a list of upgrades whenever they're affordable.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
layer | GenericLayer | undefined | The layer the upgrades are apart of |
autoActive | Computable <boolean > | undefined | Whether or not the upgrades should currently be auto-purchasing |
upgrades | GenericUpgrade [] | [] | The specific upgrades to upgrade. If unspecified, uses all upgrades on the layer. |
Returns
void
Defined in
profectus/src/features/upgrades/upgrade.ts:213
Components
Upgrade Component
Props
Name | Type |
---|---|
display * | processedPropType<UnwrapRef<GenericUpgrade["display"]>>(String, Object, Function) |
visibility * | processedPropType<Visibility | boolean>(Number, Boolean) |
style | processedPropType<StyleValue>(String, Object, Array) |
classes | processedPropType<Record<string, boolean>>(Object) |
requirements * | Requirements |
canPurchase * | processedPropType<boolean>(Boolean) |
bought * | processedPropType<boolean>(Boolean) |
mark | processedPropType<boolean | string>(Boolean, String) |
id * | string |
purchase * | VoidFunction |