@geheimgang188/fmod-service-api
Version:
FMOD service API
39 lines (38 loc) • 1.29 kB
TypeScript
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;
}