@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
30 lines (29 loc) • 1.36 kB
TypeScript
import { BaseNodeType } from '../../src/engine/nodes/_Base';
import { ParamConstructorMap } from '../../src/engine/params/types/ParamConstructorMap';
import { ParamInitValuesTypeMap } from '../../src/engine/params/types/ParamInitValuesTypeMap';
import { ParamType } from '../../src/engine/poly/ParamType';
import { PolyDictionary } from '../../src/types/GlobalTypes';
export interface PresetEntry<T extends ParamType> {
param: ParamConstructorMap[T];
value: ParamInitValuesTypeMap[T];
}
export declare class BasePreset {
private _entries;
addEntry<T extends ParamType>(param: ParamConstructorMap[T], value: ParamInitValuesTypeMap[T]): this;
entries(): PresetEntry<ParamType>[];
}
export declare class NodePresetsCollection {
private _presetsByName;
setPresets(presetsByName: PolyDictionary<BasePreset>): this;
addPreset(presetName: string, preset: BasePreset): this;
private _presetNames;
private _updatePresetNames;
presetNames(): string[];
getPreset(presetName: string): BasePreset | undefined;
}
export type PresetsCollectionFactory<N extends BaseNodeType> = (node: N) => NodePresetsCollection;
import { BaseNodeClass } from '../../src/engine/nodes/_Base';
export interface PresetRegister<N extends typeof BaseNodeClass, NI extends BaseNodeClass> {
nodeClass: N;
setupFunc: PresetsCollectionFactory<NI>;
}