WheelBuilder
pixi-wheels / index / WheelBuilder
Class: WheelBuilder
Defined in: core/WheelBuilder.ts:316
Fluent construction of a Wheel. Validates on build() and throws
a message that names the missing or conflicting call.
const wheel = new WheelBuilder()
.radius(260)
.sections([
{ id: 'x2', label: 'x2', value: 2, weight: 3 },
{ id: 'x5', label: 'x5', value: 5, weight: 2 },
{ id: 'x10', label: 'x10', value: 10, weight: 1 },
])
.speed('normal', SpinPresets.NORMAL)
.ticker(app.ticker)
.build();
The section, radius, pointer and skin methods configure the main ring;
ring(id, ...) adds further rings around the same centre.
Constructors#
Constructor#
new WheelBuilder(): WheelBuilder;
Returns#
WheelBuilder
Methods#
adapter()#
adapter(config:
| TargetAdapterConfig
| undefined): this;
Defined in: core/WheelBuilder.ts:449
Record how a server response maps to a target. Informational; kept in toConfig().
Parameters#
| Parameter | Type |
|---|---|
config | | TargetAdapterConfig | undefined |
Returns#
this
assets()#
assets(resolver: AssetResolver): this;
Defined in: core/WheelBuilder.ts:437
Where skin configs find their textures. Only needed for config-driven skins.
Parameters#
| Parameter | Type |
|---|---|
resolver | AssetResolver |
Returns#
this
build()#
build(): Wheel;
Defined in: core/WheelBuilder.ts:456
Returns#
direction()#
direction(dir: SpinDirection): this;
Defined in: core/WheelBuilder.ts:382
Spin direction for every ring that does not set its own. Default 'cw'.
Parameters#
| Parameter | Type |
|---|---|
dir | SpinDirection |
Returns#
this
dynamic()#
dynamic(config: DynamicSectionsConfig): this;
Defined in: core/WheelBuilder.ts:363
Parameters#
| Parameter | Type |
|---|---|
config | DynamicSectionsConfig |
Returns#
this
fromConfig()#
static fromConfig(config: WheelConfig, options?: {
assets?: AssetResolver;
ticker?: Ticker;
}): WheelBuilder;
Defined in: core/WheelBuilder.ts:531
A builder pre-filled from a config. Add the ticker (and assets, for
texture or Spine skins), then build().
const wheel = WheelBuilder.fromConfig(cfg, { assets }).ticker(app.ticker).build();
Parameters#
| Parameter | Type |
|---|---|
config | WheelConfig |
options | { assets?: AssetResolver; ticker?: Ticker; } |
options.assets? | AssetResolver |
options.ticker? | Ticker |
Returns#
WheelBuilder
idle()#
idle(config: IdleConfig): this;
Defined in: core/WheelBuilder.ts:420
Idle rotation config. autoStart: true begins idling on build.
Parameters#
| Parameter | Type |
|---|---|
config | IdleConfig |
Returns#
this
initialSpeed()#
initialSpeed(name: string): this;
Defined in: core/WheelBuilder.ts:403
Parameters#
| Parameter | Type |
|---|---|
name | string |
Returns#
this
landing()#
landing(options: LandingOptions): this;
Defined in: core/WheelBuilder.ts:409
Defaults for every setResult(): landing mode, settle, anticipation.
Parameters#
| Parameter | Type |
|---|---|
options | LandingOptions |
Returns#
this
name()#
name(name: string): this;
Defined in: core/WheelBuilder.ts:443
Human name, kept in toConfig().
Parameters#
| Parameter | Type |
|---|---|
name | string |
Returns#
this
palette()#
palette(colors: readonly number[]): this;
Defined in: core/WheelBuilder.ts:374
Parameters#
| Parameter | Type |
|---|---|
colors | readonly number[] |
Returns#
this
pegs()#
pegs(config?: false | PegConfig): this;
Defined in: core/WheelBuilder.ts:369
Pegs of the main ring. See RingBuilder.pegs().
Parameters#
| Parameter | Type |
|---|---|
config | false | PegConfig |
Returns#
this
pointer()#
pointer(spec?: PointerSpec): this;
Defined in: core/WheelBuilder.ts:353
Parameters#
| Parameter | Type |
|---|---|
spec | PointerSpec |
Returns#
this
radius()#
radius(outer: number, inner?: number): this;
Defined in: core/WheelBuilder.ts:333
Parameters#
| Parameter | Type | Default value |
|---|---|---|
outer | number | undefined |
inner | number | 0 |
Returns#
this
ring()#
ring(id: string, configure: (ring: RingBuilder) => void): this;
Defined in: core/WheelBuilder.ts:388
Add a ring around the same centre. The callback configures it.
Parameters#
| Parameter | Type |
|---|---|
id | string |
configure | (ring: RingBuilder) => void |
Returns#
this
rng()#
rng(fn: () => number): this;
Defined in: core/WheelBuilder.ts:426
Random source for 'random' landings and pick: 'random'. Default Math.random. Seed it in tests.
Parameters#
| Parameter | Type |
|---|---|
fn | () => number |
Returns#
this
section()#
section(config: WheelSectionConfig): this;
Defined in: core/WheelBuilder.ts:343
Parameters#
| Parameter | Type |
|---|---|
config | WheelSectionConfig |
Returns#
this
sections()#
sections(list: readonly WheelSectionConfig[]): this;
Defined in: core/WheelBuilder.ts:338
Parameters#
| Parameter | Type |
|---|---|
list | readonly WheelSectionConfig[] |
Returns#
this
skin()#
skin(skin:
| RingSkin
| RingSkinConfig): this;
Defined in: core/WheelBuilder.ts:358
Parameters#
| Parameter | Type |
|---|---|
skin | | RingSkin | RingSkinConfig |
Returns#
this
skip()#
skip(options: SkipConfig): this;
Defined in: core/WheelBuilder.ts:414
Parameters#
| Parameter | Type |
|---|---|
options | SkipConfig |
Returns#
this
speed()#
speed(name: string, profile: SpinProfile): this;
Defined in: core/WheelBuilder.ts:398
Register a spin profile under a name. The first registered is the initial speed unless initialSpeed() says otherwise.
Parameters#
| Parameter | Type |
|---|---|
name | string |
profile | SpinProfile |
Returns#
this
startAngle()#
startAngle(deg: number): this;
Defined in: core/WheelBuilder.ts:348
Parameters#
| Parameter | Type |
|---|---|
deg | number |
Returns#
this
ticker()#
ticker(ticker: Ticker): this;
Defined in: core/WheelBuilder.ts:431
Parameters#
| Parameter | Type |
|---|---|
ticker | Ticker |
Returns#
this
toConfig()#
toConfig(): WheelConfig;
Defined in: core/WheelBuilder.ts:507
The builder’s state as JSON. Skins given as instances are recorded as { type: 'custom' }.