Files
fool-cardgame/extensions/cocos-code-mode/dist/utcp/utils/asset-importers/sprite-frame-importer.js
T
2026-09-13 09:43:24 +03:00

145 lines
16 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpriteFrameImporter = void 0;
const base_importer_1 = require("./base-importer");
class SpriteFrameImporter extends base_importer_1.BaseAssetImporter {
constructor() {
super(...arguments);
this.name = 'sprite-frame';
}
async setProperty(assetInfo, path, value) {
const meta = await Editor.Message.request('asset-db', 'query-asset-meta', assetInfo.uuid);
if (!meta || !meta.userData)
return false;
const userData = meta.userData;
let handled = false;
if (path.includes('.')) {
const parts = path.split('.');
let current = userData;
for (let i = 0; i < parts.length - 1; i++) {
if (!current[parts[i]])
return false;
current = current[parts[i]];
}
if (current) {
current[parts[parts.length - 1]] = value;
handled = true;
}
}
else {
userData[path] = value;
handled = true;
}
if (handled) {
await Editor.Message.request('asset-db', 'save-asset-meta', assetInfo.uuid, JSON.stringify(meta));
return true;
}
return false;
}
async getProperties(assetInfo) {
const meta = await Editor.Message.request('asset-db', 'query-asset-meta', assetInfo.uuid);
const userData = meta === null || meta === void 0 ? void 0 : meta.userData;
if (!userData) {
throw new Error(`UserData not found for asset ${assetInfo.uuid}`);
}
return this.parseUserData(userData);
}
parseUserData(userData) {
const propertyContainer = {};
// Basic properties
propertyContainer.packable = {
value: userData.packable,
type: 'Boolean',
displayName: 'Packable',
};
propertyContainer.rotated = {
value: userData.rotated,
type: 'Boolean',
displayName: 'Rotated',
readonly: true
};
propertyContainer.offsetX = {
value: userData.offsetX,
type: 'Number',
displayName: 'Offset X',
readonly: true
};
propertyContainer.offsetY = {
value: userData.offsetY,
type: 'Number',
displayName: 'Offset Y',
readonly: true
};
// Trim
propertyContainer.trimType = {
value: userData.trimType,
type: 'Enum',
enumList: ['auto', 'custom', 'none'].map(k => ({ name: k, value: k })),
displayName: 'Trim Type'
};
propertyContainer.trimThreshold = {
value: userData.trimThreshold,
type: 'Number',
displayName: 'Trim Threshold'
};
propertyContainer.trimX = {
value: userData.trimX,
type: 'Number',
displayName: 'Trim X'
};
propertyContainer.trimY = {
value: userData.trimY,
type: 'Number',
displayName: 'Trim Y'
};
propertyContainer.width = {
value: userData.width,
type: 'Number',
displayName: 'Width'
};
propertyContainer.height = {
value: userData.height,
type: 'Number',
displayName: 'Height'
};
// Borders
propertyContainer.borderTop = {
value: userData.borderTop,
type: 'Number',
displayName: 'Border Top'
};
propertyContainer.borderBottom = {
value: userData.borderBottom,
type: 'Number',
displayName: 'Border Bottom'
};
propertyContainer.borderLeft = {
value: userData.borderLeft,
type: 'Number',
displayName: 'Border Left'
};
propertyContainer.borderRight = {
value: userData.borderRight,
type: 'Number',
displayName: 'Border Right'
};
propertyContainer.pixelsToUnit = {
value: userData.pixelsToUnit,
type: 'Number',
displayName: 'Pixels To Unit'
};
propertyContainer.pivotX = {
value: userData.pivotX,
type: 'Number',
displayName: 'Pivot X'
};
propertyContainer.pivotY = {
value: userData.pivotY,
type: 'Number',
displayName: 'Pivot Y'
};
return propertyContainer;
}
}
exports.SpriteFrameImporter = SpriteFrameImporter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLWZyYW1lLWltcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc291cmNlL3V0Y3AvdXRpbHMvYXNzZXQtaW1wb3J0ZXJzL3Nwcml0ZS1mcmFtZS1pbXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBb0Q7QUFJcEQsTUFBYSxtQkFBb0IsU0FBUSxpQ0FBaUI7SUFBMUQ7O1FBQ0ksU0FBSSxHQUFHLGNBQWMsQ0FBQztJQWlKMUIsQ0FBQztJQS9JRyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQXFCLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDN0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFDckMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FB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N0IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQzVCLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLGdCQUFnQjtTQUNoQyxDQUFDO1FBQ0YsaUJBQWlCLENBQUMsTUFBTSxHQUFHO1lBQ3ZCLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN0QixJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSxTQUFTO1NBQ3pCLENBQUM7UUFDRixpQkFBaUIsQ0FBQyxNQUFNLEdBQUc7WUFDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3RCLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztDQUVKO0FBbEpELGtEQWtKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBc3NldEltcG9ydGVyIH0gZnJvbSAnLi9iYXNlLWltcG9ydGVyJztcbmltcG9ydCB7IElBc3NldEluZm8gfSBmcm9tICdAY29jb3MvY3JlYXRvci10eXBlcy9lZGl0b3IvcGFja2FnZXMvYXNzZXQtZGIvQHR5cGVzL3B1YmxpYyc7XG5pbXBvcnQgeyBJUHJvcGVydHksIElQcm9wZXJ0eVZhbHVlVHlwZSB9IGZyb20gJ0Bjb2Nvcy9jcmVhdG9yLXR5cGVzL2VkaXRvci9wYWNrYWdlcy9zY2VuZS9AdHlwZXMvcHVibGljJztcblxuZXhwb3J0IGNsYXNzIFNwcml0ZUZyYW1lSW1wb3J0ZXIgZXh0ZW5kcyBCYXNlQXNzZXRJbXBvcnRlciB7XG4gICAgbmFtZSA9ICdzcHJpdGUtZnJhbWUnO1xuXG4gICAgYXN5bmMgc2V0UHJvcGVydHkoYXNzZXRJbmZvOiBJQXNzZXRJbmZvLCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgbWV0YSA9IGF3YWl0IEVkaXRvci5NZXNzYWdlLnJlcXVlc3QoJ2Fzc2V0LWRiJywgJ3F1ZXJ5LWFzc2V0LW1ldGEnLCBhc3NldEluZm8udXVpZCk7XG4gICAgICAgIGlmICghbWV0YSB8fCAhbWV0YS51c2VyRGF0YSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgdXNlckRhdGEgPSBtZXRhLnVzZXJEYXRhO1xuICAgICAgICBsZXQgaGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgaWYgKHBhdGguaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBsZXQgY3VycmVudCA9IHVzZXJEYXRhO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRbcGFydHNbaV1dKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnRbcGFydHNbaV1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50W3BhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXNlckRhdGFbcGF0aF0gPSB2YWx1ZTtcbiAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAoaGFuZGxlZCkge1xuICAgICAgICAgICAgYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAnc2F2ZS1hc3NldC1tZXRhJywgYXNzZXRJbmZvLnV1aWQsIEpTT04uc3RyaW5naWZ5KG1ldGEpKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRQcm9wZXJ0aWVzKGFzc2V0SW5mbzogSUFzc2V0SW5mbyk6IFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBJUHJvcGVydHlWYWx1ZVR5cGUgfT4ge1xuICAgICAgICBjb25zdCBtZXRhID0gYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAncXVlcnktYXNzZXQtbWV0YScsIGFzc2V0SW5mby51dWlkKTtcbiAgICAgICAgY29uc3QgdXNlckRhdGEgPSBtZXRhPy51c2VyRGF0YTtcblxuICAgICAgICBpZiAoIXVzZXJEYXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVzZXJEYXRhIG5vdCBmb3VuZCBmb3IgYXNzZXQgJHthc3NldEluZm8udXVpZH1gKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VVc2VyRGF0YSh1c2VyRGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlVXNlckRhdGEodXNlckRhdGE6IHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0pOiB7IFtrZXk6IHN0cmluZ106IElQcm9wZXJ0eSB9IHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlDb250YWluZXI6IHsgW2tleTogc3RyaW5nXTogSVByb3BlcnR5IH0gPSB7fTtcblxuICAgICAgICAvLyBCYXNpYyBwcm9wZXJ0aWVzXG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLnBhY2thYmxlID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLnBhY2thYmxlLFxuICAgICAgICAgICAgdHlwZTogJ0Jvb2xlYW4nLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdQYWNrYWJsZScsXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLnJvdGF0ZWQgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEucm90YXRlZCxcbiAgICAgICAgICAgIHR5cGU6ICdCb29sZWFuJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUm90YXRlZCcsXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBwcm9wZXJ0eUNvbnRhaW5lci5vZmZzZXRYID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLm9mZnNldFgsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnT2Zmc2V0IFgnLFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIub2Zmc2V0WSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5vZmZzZXRZLFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ09mZnNldCBZJyxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gVHJpbVxuICAgICAgICBwcm9wZXJ0eUNvbnRhaW5lci50cmltVHlwZSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS50cmltVHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICdFbnVtJyxcbiAgICAgICAgICAgIGVudW1MaXN0OiBbJ2F1dG8nLCAnY3VzdG9tJywgJ25vbmUnXS5tYXAoayA9PiAoeyBuYW1lOiBrLCB2YWx1ZTogayB9KSksXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1RyaW0gVHlwZSdcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIudHJpbVRocmVzaG9sZCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS50cmltVGhyZXNob2xkLFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1RyaW0gVGhyZXNob2xkJ1xuICAgICAgICB9O1xuICAgICAgICBwcm9wZXJ0eUNvbnRhaW5lci50cmltWCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS50cmltWCxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdUcmltIFgnXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLnRyaW1ZID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLnRyaW1ZLFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1RyaW0gWSdcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIud2lkdGggPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEud2lkdGgsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnV2lkdGgnXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLmhlaWdodCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5oZWlnaHQsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnSGVpZ2h0J1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEJvcmRlcnNcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIuYm9yZGVyVG9wID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLmJvcmRlclRvcCxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCb3JkZXIgVG9wJ1xuICAgICAgICB9O1xuICAgICAgICBwcm9wZXJ0eUNvbnRhaW5lci5ib3JkZXJCb3R0b20gPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEuYm9yZGVyQm90dG9tLFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0JvcmRlciBCb3R0b20nXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLmJvcmRlckxlZnQgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEuYm9yZGVyTGVmdCxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCb3JkZXIgTGVmdCdcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIuYm9yZGVyUmlnaHQgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEuYm9yZGVyUmlnaHQsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQm9yZGVyIFJpZ2h0J1xuICAgICAgICB9O1xuXG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLnBpeGVsc1RvVW5pdCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5waXhlbHNUb1VuaXQsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUGl4ZWxzIFRvIFVuaXQnXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLnBpdm90WCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5waXZvdFgsXG4gICAgICAgICAgICB0eXBlOiAnTnVtYmVyJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUGl2b3QgWCdcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydHlDb250YWluZXIucGl2b3RZID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLnBpdm90WSxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdQaXZvdCBZJ1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBwcm9wZXJ0eUNvbnRhaW5lcjtcbiAgICB9XG5cbn1cbiJdfQ==