sdfsdfs
This commit is contained in:
82
node_modules/pixi.js/lib/scene/text-bitmap/asset/loadBitmapFont.js
generated
vendored
Normal file
82
node_modules/pixi.js/lib/scene/text-bitmap/asset/loadBitmapFont.js
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
'use strict';
|
||||
|
||||
var LoaderParser = require('../../../assets/loader/parsers/LoaderParser.js');
|
||||
var copySearchParams = require('../../../assets/utils/copySearchParams.js');
|
||||
var adapter = require('../../../environment/adapter.js');
|
||||
var Extensions = require('../../../extensions/Extensions.js');
|
||||
var path = require('../../../utils/path.js');
|
||||
var BitmapFont = require('../BitmapFont.js');
|
||||
var bitmapFontTextParser = require('./bitmapFontTextParser.js');
|
||||
var bitmapFontXMLStringParser = require('./bitmapFontXMLStringParser.js');
|
||||
|
||||
"use strict";
|
||||
const validExtensions = [".xml", ".fnt"];
|
||||
const bitmapFontCachePlugin = {
|
||||
extension: {
|
||||
type: Extensions.ExtensionType.CacheParser,
|
||||
name: "cacheBitmapFont"
|
||||
},
|
||||
test: (asset) => asset instanceof BitmapFont.BitmapFont,
|
||||
getCacheableAssets(keys, asset) {
|
||||
const out = {};
|
||||
keys.forEach((key) => {
|
||||
out[key] = asset;
|
||||
out[`${key}-bitmap`] = asset;
|
||||
});
|
||||
out[`${asset.fontFamily}-bitmap`] = asset;
|
||||
return out;
|
||||
}
|
||||
};
|
||||
const loadBitmapFont = {
|
||||
extension: {
|
||||
type: Extensions.ExtensionType.LoadParser,
|
||||
priority: LoaderParser.LoaderParserPriority.Normal
|
||||
},
|
||||
name: "loadBitmapFont",
|
||||
test(url) {
|
||||
return validExtensions.includes(path.path.extname(url).toLowerCase());
|
||||
},
|
||||
async testParse(data) {
|
||||
return bitmapFontTextParser.bitmapFontTextParser.test(data) || bitmapFontXMLStringParser.bitmapFontXMLStringParser.test(data);
|
||||
},
|
||||
async parse(asset, data, loader) {
|
||||
const bitmapFontData = bitmapFontTextParser.bitmapFontTextParser.test(asset) ? bitmapFontTextParser.bitmapFontTextParser.parse(asset) : bitmapFontXMLStringParser.bitmapFontXMLStringParser.parse(asset);
|
||||
const { src } = data;
|
||||
const { pages } = bitmapFontData;
|
||||
const textureUrls = [];
|
||||
const textureOptions = bitmapFontData.distanceField ? {
|
||||
scaleMode: "linear",
|
||||
alphaMode: "premultiply-alpha-on-upload",
|
||||
autoGenerateMipmaps: false,
|
||||
resolution: 1
|
||||
} : {};
|
||||
for (let i = 0; i < pages.length; ++i) {
|
||||
const pageFile = pages[i].file;
|
||||
let imagePath = path.path.join(path.path.dirname(src), pageFile);
|
||||
imagePath = copySearchParams.copySearchParams(imagePath, src);
|
||||
textureUrls.push({
|
||||
src: imagePath,
|
||||
data: textureOptions
|
||||
});
|
||||
}
|
||||
const loadedTextures = await loader.load(textureUrls);
|
||||
const textures = textureUrls.map((url) => loadedTextures[url.src]);
|
||||
const bitmapFont = new BitmapFont.BitmapFont({
|
||||
data: bitmapFontData,
|
||||
textures
|
||||
}, src);
|
||||
return bitmapFont;
|
||||
},
|
||||
async load(url, _options) {
|
||||
const response = await adapter.DOMAdapter.get().fetch(url);
|
||||
return await response.text();
|
||||
},
|
||||
async unload(bitmapFont, _resolvedAsset, loader) {
|
||||
await Promise.all(bitmapFont.pages.map((page) => loader.unload(page.texture.source._sourceOrigin)));
|
||||
bitmapFont.destroy();
|
||||
}
|
||||
};
|
||||
|
||||
exports.bitmapFontCachePlugin = bitmapFontCachePlugin;
|
||||
exports.loadBitmapFont = loadBitmapFont;
|
||||
//# sourceMappingURL=loadBitmapFont.js.map
|
Reference in New Issue
Block a user