Fix #6854 #6737 (PipelineConfig TS)

This commit is contained in:
Richard Davey 2024-09-03 14:35:02 +01:00
parent 780def8cf9
commit 8091292439
5 changed files with 15 additions and 6 deletions

View file

@ -615,6 +615,17 @@ export class Parser {
return `{[key: string]: ${this.processTypeName(matches[1])}}`;
}
}
} else if (name.startsWith('object<')) {
let matches = name.match(/^object<(.*)>$/);
if (matches && matches[1]) {
if (matches[1].indexOf(',') != -1) {
let parts = matches[1].split(',');
return `{[key: ${this.processTypeName(parts[0])}]: typeof ${this.processTypeName(parts[1])}}`;
} else {
return `{[key: string]: typeof ${this.processTypeName(matches[1])}}`;
}
}
}
return name;

View file

@ -356,7 +356,7 @@ var Config = new Class({
var renderConfig = GetValue(config, 'render', null);
/**
* @const {Phaser.Renderer.WebGL.WebGLPipeline[]|Object.<string, Phaser.Renderer.WebGL.WebGLPipeline>} Phaser.Core.Config#pipeline - An object mapping WebGL names to WebGLPipeline classes. These should be class constructors, not instances.
* @const {Phaser.Types.Core.PipelineConfig} Phaser.Core.Config#pipeline - An object mapping WebGL names to WebGLPipeline classes. These should be class constructors, not instances.
*/
this.pipeline = GetValue(renderConfig, 'pipeline', null, config);

View file

@ -31,7 +31,7 @@
* @property {Phaser.Types.Core.PluginObject|Phaser.Types.Core.PluginObjectItem[]} [plugins] - Plugins to install.
* @property {Phaser.Types.Core.ScaleConfig} [scale] - The Scale Manager configuration.
* @property {Phaser.Types.Core.AudioConfig} [audio] - The Audio Configuration object.
* @property {Phaser.Types.Core.PipelineConfig} [pipeline] - A WebGL Pipeline configuration object. Can also be part of the `RenderConfig`.
* @property {Phaser.Types.Core.PipelineConfig} [pipeline] - The WebGL Pipeline configuration object. Can also be part of the `RenderConfig`.
* @property {(string|number)} [backgroundColor=0x000000] - The background color of the game canvas. The default is black.
* @property {boolean} [antialias=true] - When set to `true`, WebGL uses linear interpolation to draw scaled or rotated textures, giving a smooth appearance. When set to `false`, WebGL uses nearest-neighbor interpolation, giving a crisper appearance. `false` also disables antialiasing of the game canvas itself, if the browser supports it, when the game canvas is scaled.
* @property {boolean} [antialiasGL=true] - Sets the `antialias` property when the WebGL context is created. Setting this value does not impact any subsequent textures that are created, or the canvas style attributes.

View file

@ -1,8 +1,6 @@
/**
* @typedef {object} Phaser.Types.Core.PipelineConfig
* @typedef {Phaser.Renderer.WebGL.WebGLPipeline[]|object.<string, Phaser.Renderer.WebGL.WebGLPipeline>} Phaser.Types.Core.PipelineConfig
* @since 3.50.0
*
* @property {string} name - The name of the pipeline. Must be unique within the Pipeline Manager.
* @property {Phaser.Renderer.WebGL.WebGLPipeline} pipeline - The pipeline class. This should be a constructable object, **not** an instance of a class.
* @property {number} [frameInc=32] - Sets the `PipelineManager.frameInc` value to control the dimension increase in the Render Targets.
*/

View file

@ -17,7 +17,7 @@
* @property {number} [maxLights=10] - The maximum number of lights allowed to be visible within range of a single Camera in the LightManager.
* @property {number} [maxTextures=-1] - When in WebGL mode, this sets the maximum number of GPU Textures to use. The default, -1, will use all available units. The WebGL1 spec says all browsers should provide a minimum of 8.
* @property {string} [mipmapFilter=''] - The mipmap magFilter to be used when creating WebGL textures. Don't set unless you wish to create mipmaps. Set to one of the following: 'NEAREST', 'LINEAR', 'NEAREST_MIPMAP_NEAREST', 'LINEAR_MIPMAP_NEAREST', 'NEAREST_MIPMAP_LINEAR' or 'LINEAR_MIPMAP_LINEAR'.
* @property {Phaser.Renderer.WebGL.WebGLPipeline[]|Object.<string, Phaser.Renderer.WebGL.WebGLPipeline>} [pipeline] - The WebGL Pipeline configuration object.
* @property {Phaser.Types.Core.PipelineConfig} [pipeline] - The WebGL Pipeline configuration object.
* @property {boolean} [autoMobilePipeline=true] - Automatically enable the Mobile Pipeline if iOS or Android detected?
* @property {string} [defaultPipeline='MultiPipeline'] - The WebGL Pipeline that Game Objects will use by default. Set to 'MultiPipeline' as standard.
*/