interface ScriptType { name: string; /** * Interface to define public script attributes available in the editor. * @type {{ [key: string]: pc.AttributesArgs }} * @memberof Script */ attributes?: { [key: string]: pc.AttributesArgs }; /** * initialize is called if defined when script is about to run for the first time. * @memberof ScriptType */ initialize?(): void; /** * postInitialize will run after all initialize methods are executed in the * same tick or enabling chain of actions. * @memberof ScriptType */ postInitialize?(): void; /** * update is called if defined for enabled (running state) scripts on each tick. * @param {number} dt * @memberof ScriptType */ update?(dt: number): void; /** * postUpdate is called if defined for enabled (running state) scripts on each tick, * after update. * @memberof ScriptType */ postUpdate?(): void; /** * This method will be called when a ScriptType that already exists in the registry * gets redefined. If the new ScriptType has a `swap` method in its prototype, * then it will be executed to perform hot-reload at runtime. * @memberof ScriptType */ swap?(): void; }