Browse Source

Variants Import (#8359)

sebavan 5 years ago
parent
commit
969e602e09

+ 2 - 2
Tools/Gulp/helpers/gulp-validateImports.js

@@ -7,7 +7,7 @@ var colorConsole = require("../../NodeHelpers/colorConsole");
 
 
 var config = require("../../Config/config");
 var config = require("../../Config/config");
 
 
-const indexExlclusion = ["States", "EmitterTypes"];
+const indexExlclusion = ["States", "EmitterTypes", "glTF"];
 const forbiddenImports = ["meshBuilder"];
 const forbiddenImports = ["meshBuilder"];
 
 
 const mapping = {};
 const mapping = {};
@@ -61,7 +61,7 @@ var validatePath = function(fileLocation, directory, module, lineNumber, errors,
                     }
                     }
                 }
                 }
                 if (!excluded && fileLocation.indexOf("index.ts") === -1) {
                 if (!excluded && fileLocation.indexOf("index.ts") === -1) {
-                    errors.push(`Line ${lineNumber} Imports ${module} should not be from index for tree shaking.`);
+                    errors.push(`Line ${internalModulePath} Imports ${module} should not be from index for tree shaking.`);
                 }
                 }
             }
             }
         }
         }

+ 1 - 1
Tools/WebpackPlugins/babylonExternals.js

@@ -13,7 +13,7 @@ module.exports = function nodeExternals(options) {
         }
         }
         else if (/^babylonjs-loaders.*$/i.test(request)) {
         else if (/^babylonjs-loaders.*$/i.test(request)) {
             callback(null, {
             callback(null, {
-                root: "BABYLON",
+                root: "LOADERS",
                 commonjs: "babylonjs-loaders",
                 commonjs: "babylonjs-loaders",
                 commonjs2: "babylonjs-loaders",
                 commonjs2: "babylonjs-loaders",
                 amd: "babylonjs-loaders"
                 amd: "babylonjs-loaders"

+ 9 - 7
inspector/src/components/actionTabs/tabs/propertyGrids/variantsPropertyGridComponent.tsx

@@ -9,6 +9,8 @@ import { GlobalState } from "../../../globalState";
 import { OptionsLineComponent } from '../../lines/optionsLineComponent';
 import { OptionsLineComponent } from '../../lines/optionsLineComponent';
 import { ButtonLineComponent } from '../../lines/buttonLineComponent';
 import { ButtonLineComponent } from '../../lines/buttonLineComponent';
 
 
+import { GLTF2 } from 'babylonjs-loaders/glTF/index';
+
 interface IVariantsPropertyGridComponentProps {
 interface IVariantsPropertyGridComponentProps {
     globalState: GlobalState;
     globalState: GlobalState;
     host: any;
     host: any;
@@ -24,8 +26,8 @@ export class VariantsPropertyGridComponent extends React.Component<IVariantsProp
     }
     }
 
 
     render() {
     render() {
-        let root = (BABYLON as any).GLTF2.Loader.Extensions;
-        let variants = root.KHR_materials_variants.GetAvailableVariants(this.props.host);
+        const KHR_materials_variants = GLTF2.KHR_materials_variants;
+        let variants = KHR_materials_variants.GetAvailableVariants(this.props.host);
 
 
         if (!variants || variants.length === 0) {
         if (!variants || variants.length === 0) {
             return null;
             return null;
@@ -45,17 +47,17 @@ export class VariantsPropertyGridComponent extends React.Component<IVariantsProp
                         target={this.props.host}
                         target={this.props.host}
                         propertyName=""
                         propertyName=""
                         onSelect={(value: number) => {
                         onSelect={(value: number) => {
-                            if (value === 0) {                                
-                                root.KHR_materials_variants.Reset(this.props.host);
+                            if (value === 0) {
+                                KHR_materials_variants.Reset(this.props.host);
                             } else {
                             } else {
-                                root.KHR_materials_variants.SelectVariant(this.props.host, variants[value - 1]);
+                                KHR_materials_variants.SelectVariant(this.props.host, variants[value - 1]);
                             }
                             }
                             this._lastOne = value;
                             this._lastOne = value;
 
 
                             this.forceUpdate();
                             this.forceUpdate();
                         }}
                         }}
                         extractValue={() => {
                         extractValue={() => {
-                            let lastPickedVariant = root.KHR_materials_variants.GetLastSelectedVariant(this.props.host) || 0;
+                            let lastPickedVariant = KHR_materials_variants.GetLastSelectedVariant(this.props.host) || 0;
 
 
                             if (lastPickedVariant && Object.prototype.toString.call(lastPickedVariant) === '[object String]') {
                             if (lastPickedVariant && Object.prototype.toString.call(lastPickedVariant) === '[object String]') {
                                 let index = variants.indexOf(lastPickedVariant as string);
                                 let index = variants.indexOf(lastPickedVariant as string);
@@ -68,7 +70,7 @@ export class VariantsPropertyGridComponent extends React.Component<IVariantsProp
                         }}
                         }}
                     />
                     />
                     <ButtonLineComponent label="Reset" onClick={() => {
                     <ButtonLineComponent label="Reset" onClick={() => {
-                        root.KHR_materials_variants.Reset(this.props.host);
+                        KHR_materials_variants.Reset(this.props.host);
                         this._lastOne = 0;
                         this._lastOne = 0;
                         this.forceUpdate();
                         this.forceUpdate();
                     }} />
                     }} />