UNPKG

@geheimgang188/fmod-service-api

Version:
39 lines (38 loc) 1.29 kB
import { IFmodProject } from './interfaces/fmod-interfaces'; export interface FmodCodegenOptions { /** * Customises the type returned by FmodPlayer.rawProjectData. */ projectDataType?: { name: string; importInstruction: string; }; } export declare class FmodCodegen { private readonly _data; private readonly _options; private _importFrom; constructor(data: IFmodProject, options?: FmodCodegenOptions); /** * Overrides the default import location. * @param path Defaults to the module name. */ importFrom(path: string): FmodCodegen; generateTo(mainName: string, destPath: string): void; generate(mainName: string): string; private generateIncludes; private generateMainCode; private generateEventCode; private generateGlobalParamCode; private generateLocalParamCode; private generateParamCode; private loadTemplate; /** * Creates a spacer function for the given indent. The spacer function takes one argument; * if it is > 0, the indent is not added, otherwise it is. * * This is used for replacing in templates where the search string is usually already indented, * so only the following lines need indentation. */ private createSpacer; }