UNPKG

isaacscript-common

Version:

Helper functions and features for IsaacScript mods.

31 lines 1.24 kB
import type { ModFeature } from "../classes/ModFeature"; import type { ModUpgraded } from "../classes/ModUpgraded"; /** * Helper function to instantiate an array of mod features all at once. Use this function if your * mod uses the pattern of expressing mod features as `ModFeature` classes. * * If your feature classes have `v` variables, then this function will successfully register them * with the save data manager. * * For example: * * ```ts * const MOD_FEATURES = [ * MyFeature1, * MyFeature2, * MyFeature3, * ] as const; * initModFeatures(mod, MOD_FEATURES); * ``` * * @param mod The upgraded mod to use. * @param modFeatures An array of the feature classes that you have in your mod. * @param init Optional. Whether to automatically add the callbacks on the feature. Defaults to * true. * @returns An array of the instantiated features in the same order that the constructors were * passed in. (In most cases, you probably won't need the returned array.) */ export declare function initModFeatures<T extends ReadonlyArray<typeof ModFeature>>(mod: ModUpgraded, modFeatures: T, init?: boolean): { [K in keyof T]: InstanceType<T[K]>; }; //# sourceMappingURL=modFeatures.d.ts.map