81 lines
10 KiB
JavaScript
81 lines
10 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ErpTextureCubeImporter = void 0;
|
|
const base_importer_1 = require("./base-importer");
|
|
const texture_utils_1 = require("../texture-utils");
|
|
class ErpTextureCubeImporter extends base_importer_1.BaseAssetImporter {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.name = 'erp-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);
|
|
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 = {};
|
|
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'
|
|
};
|
|
propertyContainer.mipBakeMode = {
|
|
value: userData.mipBakeMode,
|
|
type: 'Boolean',
|
|
displayName: 'Mip Bake Mode'
|
|
};
|
|
return propertyContainer;
|
|
}
|
|
}
|
|
exports.ErpTextureCubeImporter = ErpTextureCubeImporter;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXRleHR1cmUtY3ViZS1pbXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS91dGNwL3V0aWxzL2Fzc2V0LWltcG9ydGVycy9lcnAtdGV4dHVyZS1jdWJlLWltcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFvRDtBQUNwRCxvREFBZ0Q7QUFJaEQsTUFBYSxzQkFBdUIsU0FBUSxpQ0FBaUI7SUFBN0Q7O1FBQ0ksU0FBSSxHQUFHLGtCQUFrQixDQUFDO0lBZ0Y5QixDQUFDO0lBOUVHLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBcUIsRUFBRSxJQUFZLEVBQUUsS0FBVTtRQUM3RCxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSw0QkFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQztnQkFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sS0FBSyxDQUFDO29CQUNyQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbEcsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQXFCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRixNQUFNLFFBQVEsR0FBRyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDO1FBRWhDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUFtQztRQUNwRCxNQUFNLGlCQUFpQixHQUFpQyxFQUFFLENBQUM7UUFFM0QsaUJBQWlCLENBQUMsVUFBVSxHQUFHO1lBQzNCLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMxQixJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSxZQUFZO1NBQzVCLENBQUM7UUFDRixpQkFBaUIsQ0FBQyxRQUFRLEdBQUc7WUFDekIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQ3hCLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLFdBQVc7U0FDM0IsQ0FBQztRQUVGLDhCQUE4QjtRQUM5Qiw0QkFBWSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRWxFLGlCQUFpQixDQUFDLGVBQWUsR0FBRztZQUNoQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsS0FBSyxNQUFNO1lBQ3BDLElBQUksRUFBRSxTQUFTO1lBQ2YsV0FBVyxFQUFFLGtCQUFrQjtTQUNsQyxDQUFDO1FBRUYsaUJBQWlCLENBQUMsV0FBVyxHQUFHO1lBQzVCLEtBQUssRUFBRSxRQUFRLENBQUMsV0FBVztZQUMzQixJQUFJLEVBQUUsU0FBUztZQUNmLFdBQVcsRUFBRSxlQUFlO1NBQy9CLENBQUM7UUFFRixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7Q0FDSjtBQWpGRCx3REFpRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXNzZXRJbXBvcnRlciB9IGZyb20gJy4vYmFzZS1pbXBvcnRlcic7XG5pbXBvcnQgeyBUZXh0dXJlVXRpbHMgfSBmcm9tICcuLi90ZXh0dXJlLXV0aWxzJztcbmltcG9ydCB7IElBc3NldEluZm8gfSBmcm9tICdAY29jb3MvY3JlYXRvci10eXBlcy9lZGl0b3IvcGFja2FnZXMvYXNzZXQtZGIvQHR5cGVzL3B1YmxpYyc7XG5pbXBvcnQgeyBJUHJvcGVydHksIElQcm9wZXJ0eVZhbHVlVHlwZSB9IGZyb20gJ0Bjb2Nvcy9jcmVhdG9yLXR5cGVzL2VkaXRvci9wYWNrYWdlcy9zY2VuZS9AdHlwZXMvcHVibGljJztcblxuZXhwb3J0IGNsYXNzIEVycFRleHR1cmVDdWJlSW1wb3J0ZXIgZXh0ZW5kcyBCYXNlQXNzZXRJbXBvcnRlciB7XG4gICAgbmFtZSA9ICdlcnAtdGV4dHVyZS1jdWJlJztcblxuICAgIGFzeW5jIHNldFByb3BlcnR5KGFzc2V0SW5mbzogSUFzc2V0SW5mbywgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IG1ldGEgPSBhd2FpdCBFZGl0b3IuTWVzc2FnZS5yZXF1ZXN0KCdhc3NldC1kYicsICdxdWVyeS1hc3NldC1tZXRhJywgYXNzZXRJbmZvLnV1aWQpO1xuICAgICAgICBpZiAoIW1ldGEgfHwgIW1ldGEudXNlckRhdGEpIHJldHVybiBmYWxzZTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHVzZXJEYXRhID0gbWV0YS51c2VyRGF0YTtcbiAgICAgICAgbGV0IGhhbmRsZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAoVGV4dHVyZVV0aWxzLmFwcGx5UHJvcGVydGllcyh1c2VyRGF0YSwgcGF0aCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKCFoYW5kbGVkKSB7XG4gICAgICAgICAgICBpZiAocGF0aC5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgPSB1c2VyRGF0YTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRbcGFydHNbaV1dKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W3BhcnRzW2ldXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFtwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1c2VyRGF0YVtwYXRoXSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAoaGFuZGxlZCkge1xuICAgICAgICAgICAgYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAnc2F2ZS1hc3NldC1tZXRhJywgYXNzZXRJbmZvLnV1aWQsIEpTT04uc3RyaW5naWZ5KG1ldGEpKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRQcm9wZXJ0aWVzKGFzc2V0SW5mbzogSUFzc2V0SW5mbyk6IFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBJUHJvcGVydHlWYWx1ZVR5cGUgfT4ge1xuICAgICAgICBjb25zdCBtZXRhID0gYXdhaXQgRWRpdG9yLk1lc3NhZ2UucmVxdWVzdCgnYXNzZXQtZGInLCAncXVlcnktYXNzZXQtbWV0YScsIGFzc2V0SW5mby51dWlkKTtcbiAgICAgICAgY29uc3QgdXNlckRhdGEgPSBtZXRhPy51c2VyRGF0YTtcblxuICAgICAgICBpZiAoIXVzZXJEYXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVzZXJEYXRhIG5vdCBmb3VuZCBmb3IgYXNzZXQgJHthc3NldEluZm8udXVpZH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlVXNlckRhdGEodXNlckRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVVzZXJEYXRhKHVzZXJEYXRhOiB7IFtpbmRleDogc3RyaW5nXTogYW55OyB9KTogeyBba2V5OiBzdHJpbmddOiBJUHJvcGVydHkgfSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5Q29udGFpbmVyOiB7IFtrZXk6IHN0cmluZ106IElQcm9wZXJ0eSB9ID0ge307XG5cbiAgICAgICAgcHJvcGVydHlDb250YWluZXIuYW5pc290cm9weSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB1c2VyRGF0YS5hbmlzb3Ryb3B5LFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0FuaXNvdHJvcHknXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLmZhY2VTaXplID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLmZhY2VTaXplLFxuICAgICAgICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0ZhY2UgU2l6ZSdcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBUZXh0dXJlIFV0aWxzIChGaWx0ZXIvV3JhcClcbiAgICAgICAgVGV4dHVyZVV0aWxzLmluamVjdFRleHR1cmVQcm9wZXJ0aWVzKHVzZXJEYXRhLCBwcm9wZXJ0eUNvbnRhaW5lcik7XG5cbiAgICAgICAgcHJvcGVydHlDb250YWluZXIuZ2VuZXJhdGVNaXBtYXBzID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLm1pcGZpbHRlciAhPT0gJ25vbmUnLFxuICAgICAgICAgICAgdHlwZTogJ0Jvb2xlYW4nLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdHZW5lcmF0ZSBNaXBtYXBzJ1xuICAgICAgICB9O1xuXG4gICAgICAgIHByb3BlcnR5Q29udGFpbmVyLm1pcEJha2VNb2RlID0ge1xuICAgICAgICAgICAgdmFsdWU6IHVzZXJEYXRhLm1pcEJha2VNb2RlLFxuICAgICAgICAgICAgdHlwZTogJ0Jvb2xlYW4nLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdNaXAgQmFrZSBNb2RlJ1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBwcm9wZXJ0eUNvbnRhaW5lcjtcbiAgICB9XG59XG4iXX0=
|