Browse Source

Correctly identify new variable types

Toni Helenius 1 year ago
parent
commit
5c3df0c406

+ 9 - 1
jme3-materialeditor/src/com/jme3/gde/materials/EditableMaterialFile.java

@@ -59,7 +59,13 @@ public class EditableMaterialFile {
     private final List<String> matDefEntries = new ArrayList<>();
     private final ProjectAssetManager manager;
     private FileSystem fs;
-    public static final String[] variableTypes = new String[]{"Int", "Boolean", "Float", "Vector2", "Vector3", "Vector4", "Color", "Texture2D", "Texture3D", "TextureArray", "TextureBuffer", "TextureCubeMap"};
+    
+    // Note that these are tested with startsWith, so the ordering matters (i.e. FloatArray & Float)
+    public static final String[] variableTypes = new String[]{
+        "IntArray", "Int", "Boolean", "FloatArray", "Float", "Vector2Array",
+        "Vector3Array", "Vector4Array", "Vector2", "Vector3", "Vector4",
+        "Color", "Texture2D", "Texture3D", "TextureArray", "TextureBuffer",
+        "TextureCubeMap", "Matrix3Array", "Matrix4Array", "Matrix3", "Matrix4"};
 
     public EditableMaterialFile(FileObject material, ProjectAssetManager manager) {
         this.material = material;
@@ -257,6 +263,8 @@ public class EditableMaterialFile {
                                     materialParameters.put(prop.getName(), prop);
                                 }
                                 prop.setType(string);
+                                
+                                break;
                             }
                         }
                     }