"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextureCubeImporter = void 0; const base_importer_1 = require("./base-importer"); const texture_utils_1 = require("../texture-utils"); class TextureCubeImporter extends base_importer_1.BaseAssetImporter { constructor() { super(...arguments); this.name = 'texture-cube'; } 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 (texture_utils_1.TextureUtils.applyProperties(userData, path, value)) { handled = true; } if (!handled) { 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); if (!meta) { return {}; } const userData = meta.userData || {}; return this.parseUserData(userData); } parseUserData(userData) { const propertyContainer = {}; // Faces ['front', 'back', 'left', 'right', 'top', 'bottom'].forEach(face => { propertyContainer[face] = { value: userData[face] ? { uuid: userData[face] } : null, type: 'cc.ImageAsset', displayName: face.charAt(0).toUpperCase() + face.slice(1) }; }); // Texture Settings propertyContainer.anisotropy = { value: userData.anisotropy, type: 'Number', displayName: 'Anisotropy' }; propertyContainer.faceSize = { value: userData.faceSize, type: 'Number', displayName: 'Face Size' }; // Texture Utils (Filter/Wrap) texture_utils_1.TextureUtils.injectTextureProperties(userData, propertyContainer); propertyContainer.generateMipmaps = { value: userData.mipfilter !== 'none', type: 'Boolean', displayName: 'Generate Mipmaps' }; return propertyContainer; } } exports.TextureCubeImporter = TextureCubeImporter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1jdWJlLWltcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc291cmNlL3V0Y3AvdXRpbHMvYXNzZXQtaW1wb3J0ZXJzL3RleHR1cmUtY3ViZS1pbXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBb0Q7QUFDcEQsb0RBQWdEO0FBSWhELE1BQWEsbUJBQW9CLFNBQVEsaUNBQWlCO0lBQTFEOztRQUNJLFNBQUksR0FBRyxjQUFjLENBQUM7SUFrRjFCLENBQUM7SUFoRkcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFxQixFQUFFLElBQVksRUFBRSxLQUFVO1FBQzdELE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUUxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLDRCQUFZLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFD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Q2YsV0FBVyxFQUFFLGtCQUFrQjtTQUNsQyxDQUFDO1FBRUYsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFuRkQsa0RBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUFzc2V0SW1wb3J0ZXIgfSBmcm9tICcuL2Jhc2UtaW1wb3J0ZXInO1xuaW1wb3J0IHsgVGV4dHVyZVV0aWxzIH0gZnJvbSAnLi4vdGV4dHVyZS11dGlscyc7XG5pbXBvcnQgeyBJQXNzZXRJbmZvIH0gZnJvbSAnQGNvY29zL2NyZWF0b3ItdHlwZXMvZWRpdG9yL3BhY2thZ2VzL2Fzc2V0LWRiL0B0eXBlcy9wdWJsaWMnO1xuaW1wb3J0IHsgSVByb3BlcnR5LCBJUHJvcGVydHlWYWx1ZVR5cGUgfSBmcm9tICdAY29jb3MvY3JlYXRvci10eXBlcy9lZGl0b3IvcGFja2FnZXMvc2NlbmUvQHR5cGVzL3B1YmxpYyc7XG5cbmV4cG9ydCBjbGFzcyBUZXh0dXJlQ3ViZUltcG9ydGVyIGV4dGVuZHMgQmFzZUFzc2V0SW1wb3J0ZXIge1xuICAgIG5hbWUgPSAndGV4dHVyZS1jdWJlJztcblxuICAgIGFzeW5jIHNldFByb3BlcnR5KGFzc2V0SW5mbzogSUFzc2V0SW5mbywgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IG1ldGEgPSBhd2FpdCBFZGl0b3IuTWVzc2FnZS5yZXF1ZXN0KCdhc3NldC1kYicsICdxdWVyeS1hc3NldC1tZXRhJywgYXNzZXRJbmZvLnV1aWQpO1xuICAgICAgICBpZiAoIW1ldGEgfHwgIW1ldGEudXNlckRhdGEpIHJldHVybiBmYWxzZTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHVzZXJEYXRhID0gbWV0YS51c2VyRGF0YTtcbiAgICAgICAgbGV0IGhhbmRsZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAoVGV4dHVyZVV0aWxzLmFwcGx5UHJvcGVydGllcyh1c2VyRGF0YSwgcGF0aCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKCFoYW5kbGVkKSB7XG4gICAgICAgICAgICBpZiAocGF0aC5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgPSB1c2VyRGF0YTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRbcGFydHNbaV1dKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRzW2ldXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFtwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1c2VyRGF0YVtwYXRoXSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAoaGFuZGxlZCkge1xuICAgICAgICAgICAgYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAnc2F2ZS1hc3NldC1tZXRhJywgYXNzZXRJbmZvLnV1aWQsIEpTT04uc3RyaW5naWZ5KG1ldGEpKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRQcm9wZXJ0aWVzKGFzc2V0SW5mbzogSUFzc2V0SW5mbyk6IFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBJUHJvcGVydHlWYWx1ZVR5cGUgfT4ge1xuICAgICAgICBjb25zdCBtZXRhID0gYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAncXVlcnktYXNzZXQtbWV0YScsIGFzc2V0SW5mby51dWlkKTtcbiAgICAgICAgaWYgKCFtZXRhKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXNlckRhdGEgPSBtZXRhLnVzZXJEYXRhIHx8IHt9O1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVVzZXJEYXRhKHVzZXJEYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2VVc2VyRGF0YSh1c2VyRGF0YTogeyBbaW5kZXg6IHN0cmluZ106IGFueTsgfSk6IHsgW2tleTogc3RyaW5nXTogSVByb3BlcnR5IH0ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eUNvbnRhaW5lcjogeyBba2V5OiBzdHJpbmddOiBJUHJvcGVydHkgfSA9IHt9O1xuXG4gICAgICAgIC8vIEZhY2VzXG4gICAgICAgIFsnZnJvbnQnLCAnYmFjaycsICdsZWZ0JywgJ3JpZ2h0JywgJ3RvcCcsICdib3R0b20nXS5mb3JFYWNoKGZhY2UgPT4ge1xuICAgICAgICAgICAgcHJvcGVydHlDb250YWluZXJbZmFjZV0gPSB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhW2ZhY2VdID8geyB1dWlkOiB1c2VyRGF0YVtmYWNlXSB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2MuSW1hZ2VBc3NldCcsXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGZhY2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBmYWNlLnNsaWNlKDEpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUZXh0dXJlIFNldHRpbmdzXG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLmFuaXNvdHJvcHkgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdXNlckRhdGEuYW5pc290cm9weSxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdBbmlzb3Ryb3B5J1xuICAgICAgICB9O1xuICAgICAgICBwcm9wZXJ0eUNvbnRhaW5lci5mYWNlU2l6ZSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5mYWNlU2l6ZSxcbiAgICAgICAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdGYWNlIFNpemUnXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gVGV4dHVyZSBVdGlscyAoRmlsdGVyL1dyYXApXG4gICAgICAgIFRleHR1cmVVdGlscy5pbmplY3RUZXh0dXJlUHJvcGVydGllcyh1c2VyRGF0YSwgcHJvcGVydHlDb250YWluZXIpO1xuXG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLmdlbmVyYXRlTWlwbWFwcyA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5taXBmaWx0ZXIgIT09ICdub25lJyxcbiAgICAgICAgICAgIHR5cGU6ICdCb29sZWFuJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnR2VuZXJhdGUgTWlwbWFwcydcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcHJvcGVydHlDb250YWluZXI7XG4gICAgfVxufVxuIl19