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

55 lines
7.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PhysicsMaterialImporter = void 0;
const base_importer_1 = require("./base-importer");
class PhysicsMaterialImporter extends base_importer_1.BaseAssetImporter {
constructor() {
super(...arguments);
this.name = 'physics-material';
}
async getProperties(assetInfo) {
const materialMeta = await Editor.Message.request('scene', 'query-physics-material', assetInfo.uuid);
if (!materialMeta) {
throw new Error(`Physics material meta not found for ${assetInfo.uuid}`);
}
return materialMeta;
}
async setProperty(assetInfo, path, value) {
let materialMeta = await Editor.Message.request('scene', 'query-physics-material', assetInfo.uuid);
if (!materialMeta) {
return false;
}
// Apply change
if (path.includes('.')) {
const parts = path.split('.');
let current = materialMeta;
for (let i = 0; i < parts.length - 1; i++) {
current = current[parts[i]];
if (current === undefined)
current = current[parts[i]].value;
if (current === undefined)
return false;
}
const lastCurrent = current[parts[parts.length - 1]];
if (typeof lastCurrent === 'object' && 'value' in lastCurrent) {
current[parts[parts.length - 1]].value = value;
}
else {
current[parts[parts.length - 1]] = value;
}
}
else {
if (typeof materialMeta[path] === 'object' && 'value' in materialMeta[path]) {
materialMeta[path].value = value;
}
else {
materialMeta[path] = value;
}
}
materialMeta = await Editor.Message.request('scene', 'change-physics-material', materialMeta);
await Editor.Message.request('scene', 'apply-physics-material', assetInfo.uuid, materialMeta);
return true;
}
}
exports.PhysicsMaterialImporter = PhysicsMaterialImporter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5c2ljcy1tYXRlcmlhbC1pbXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS91dGNwL3V0aWxzL2Fzc2V0LWltcG9ydGVycy9waHlzaWNzLW1hdGVyaWFsLWltcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFvRDtBQUlwRCxNQUFhLHVCQUF3QixTQUFRLGlDQUFpQjtJQUE5RDs7UUFDSSxTQUFJLEdBQUcsa0JBQWtCLENBQUM7SUE4QzlCLENBQUM7SUE1Q0csS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFxQjtRQUNyQyxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFxQixFQUFFLElBQVksRUFBRSxLQUFVO1FBQzdELElBQUksWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELGVBQWU7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksT0FBTyxHQUFHLFlBQVksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxPQUFPLEtBQUssU0FBUztvQkFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDN0QsSUFBSSxPQUFPLEtBQUssU0FBUztvQkFBRSxPQUFPLEtBQUssQ0FBQztZQUM1QyxDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUM1RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25ELENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDN0MsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQztRQUVELFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUU5RixNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlGLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQS9DRCwwREErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXNzZXRJbXBvcnRlciB9IGZyb20gJy4vYmFzZS1pbXBvcnRlcic7XG5pbXBvcnQgeyBJQXNzZXRJbmZvIH0gZnJvbSAnQGNvY29zL2NyZWF0b3ItdHlwZXMvZWRpdG9yL3BhY2thZ2VzL2Fzc2V0LWRiL0B0eXBlcy9wdWJsaWMnO1xuaW1wb3J0IHsgSVByb3BlcnR5VmFsdWVUeXBlIH0gZnJvbSAnQGNvY29zL2NyZWF0b3ItdHlwZXMvZWRpdG9yL3BhY2thZ2VzL3NjZW5lL0B0eXBlcy9wdWJsaWMnO1xuXG5leHBvcnQgY2xhc3MgUGh5c2ljc01hdGVyaWFsSW1wb3J0ZXIgZXh0ZW5kcyBCYXNlQXNzZXRJbXBvcnRlciB7XG4gICAgbmFtZSA9ICdwaHlzaWNzLW1hdGVyaWFsJztcblxuICAgIGFzeW5jIGdldFByb3BlcnRpZXMoYXNzZXRJbmZvOiBJQXNzZXRJbmZvKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IElQcm9wZXJ0eVZhbHVlVHlwZSB9PiB7XG4gICAgICAgIGNvbnN0IG1hdGVyaWFsTWV0YSA9IGF3YWl0IEVkaXRvci5NZXNzYWdlLnJlcXVlc3QoJ3NjZW5lJywgJ3F1ZXJ5LXBoeXNpY3MtbWF0ZXJpYWwnLCBhc3NldEluZm8udXVpZCk7XG4gICAgICAgIFxuICAgICAgICBpZiAoIW1hdGVyaWFsTWV0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQaHlzaWNzIG1hdGVyaWFsIG1ldGEgbm90IGZvdW5kIGZvciAke2Fzc2V0SW5mby51dWlkfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hdGVyaWFsTWV0YTtcbiAgICB9XG5cbiAgICBhc3luYyBzZXRQcm9wZXJ0eShhc3NldEluZm86IElBc3NldEluZm8sIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgbWF0ZXJpYWxNZXRhID0gYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnc2NlbmUnLCAncXVlcnktcGh5c2ljcy1tYXRlcmlhbCcsIGFzc2V0SW5mby51dWlkKTtcbiAgICAgICAgaWYgKCFtYXRlcmlhbE1ldGEpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IGNoYW5nZVxuICAgICAgICBpZiAocGF0aC5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50ID0gbWF0ZXJpYWxNZXRhO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50ID0gY3VycmVudFtwYXJ0c1tpXV07XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IHVuZGVmaW5lZCkgY3VycmVudCA9IGN1cnJlbnRbcGFydHNbaV1dLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50ID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhc3RDdXJyZW50ID0gY3VycmVudFtwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGxhc3RDdXJyZW50ID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIGxhc3RDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFtwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXV0udmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFtwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWF0ZXJpYWxNZXRhW3BhdGhdID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIG1hdGVyaWFsTWV0YVtwYXRoXSkge1xuICAgICAgICAgICAgICAgIG1hdGVyaWFsTWV0YVtwYXRoXS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbE1ldGFbcGF0aF0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG1hdGVyaWFsTWV0YSA9IGF3YWl0IEVkaXRvci5NZXNzYWdlLnJlcXVlc3QoJ3NjZW5lJywgJ2NoYW5nZS1waHlzaWNzLW1hdGVyaWFsJywgbWF0ZXJpYWxNZXRhKTtcblxuICAgICAgICBhd2FpdCBFZGl0b3IuTWVzc2FnZS5yZXF1ZXN0KCdzY2VuZScsICdhcHBseS1waHlzaWNzLW1hdGVyaWFsJywgYXNzZXRJbmZvLnV1aWQsIG1hdGVyaWFsTWV0YSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==