ソースを参照

Reinjecting Vector2 serialization decorators

David Catuhe 9 年 前
コミット
14d0ec0e7d

ファイルの差分が大きいため隠しています
+ 2 - 2
dist/preview release/babylon.core.js


ファイルの差分が大きいため隠しています
+ 1161 - 1160
dist/preview release/babylon.d.ts


ファイルの差分が大きいため隠しています
+ 2 - 2
dist/preview release/babylon.js


+ 16 - 5
dist/preview release/babylon.max.js

@@ -3074,12 +3074,16 @@ var BABYLON;
         return generateSerializableMember(3, sourceName); // fresnel parameters member
     }
     BABYLON.serializeAsFresnelParameters = serializeAsFresnelParameters;
+    function serializeAsVector2(sourceName) {
+        return generateSerializableMember(4, sourceName); // vector2 member
+    }
+    BABYLON.serializeAsVector2 = serializeAsVector2;
     function serializeAsVector3(sourceName) {
-        return generateSerializableMember(4, sourceName); // vector3 member
+        return generateSerializableMember(5, sourceName); // vector3 member
     }
     BABYLON.serializeAsVector3 = serializeAsVector3;
     function serializeAsMeshReference(sourceName) {
-        return generateSerializableMember(5, sourceName); // mesh reference member
+        return generateSerializableMember(6, sourceName); // mesh reference member
     }
     BABYLON.serializeAsMeshReference = serializeAsMeshReference;
     var SerializationHelper = (function () {
@@ -3115,6 +3119,9 @@ var BABYLON;
                             serializationObject[targetPropertyName] = sourceProperty.asArray();
                             break;
                         case 5:
+                            serializationObject[targetPropertyName] = sourceProperty.asArray();
+                            break;
+                        case 6:
                             serializationObject[targetPropertyName] = sourceProperty.id;
                             break;
                     }
@@ -3146,9 +3153,12 @@ var BABYLON;
                             destination[property] = BABYLON.FresnelParameters.Parse(sourceProperty);
                             break;
                         case 4:
-                            destination[property] = BABYLON.Vector3.FromArray(sourceProperty);
+                            destination[property] = BABYLON.Vector2.FromArray(sourceProperty);
                             break;
                         case 5:
+                            destination[property] = BABYLON.Vector3.FromArray(sourceProperty);
+                            break;
+                        case 6:
                             destination[property] = scene.getLastMeshByID(sourceProperty);
                             break;
                     }
@@ -3168,13 +3178,14 @@ var BABYLON;
                 if (sourceProperty !== undefined && sourceProperty !== null) {
                     switch (propertyType) {
                         case 0: // Value
-                        case 5:
+                        case 6:
                             destination[property] = sourceProperty;
                             break;
                         case 1: // Texture
                         case 2: // Color3
                         case 3: // FresnelParameters
-                        case 4:
+                        case 4: // Vector2
+                        case 5:
                             destination[property] = sourceProperty.clone();
                             break;
                     }

ファイルの差分が大きいため隠しています
+ 2 - 2
dist/preview release/babylon.noworker.js


+ 16 - 5
src/Tools/babylon.decorators.js

@@ -24,12 +24,16 @@ var BABYLON;
         return generateSerializableMember(3, sourceName); // fresnel parameters member
     }
     BABYLON.serializeAsFresnelParameters = serializeAsFresnelParameters;
+    function serializeAsVector2(sourceName) {
+        return generateSerializableMember(4, sourceName); // vector2 member
+    }
+    BABYLON.serializeAsVector2 = serializeAsVector2;
     function serializeAsVector3(sourceName) {
-        return generateSerializableMember(4, sourceName); // vector3 member
+        return generateSerializableMember(5, sourceName); // vector3 member
     }
     BABYLON.serializeAsVector3 = serializeAsVector3;
     function serializeAsMeshReference(sourceName) {
-        return generateSerializableMember(5, sourceName); // mesh reference member
+        return generateSerializableMember(6, sourceName); // mesh reference member
     }
     BABYLON.serializeAsMeshReference = serializeAsMeshReference;
     var SerializationHelper = (function () {
@@ -65,6 +69,9 @@ var BABYLON;
                             serializationObject[targetPropertyName] = sourceProperty.asArray();
                             break;
                         case 5:
+                            serializationObject[targetPropertyName] = sourceProperty.asArray();
+                            break;
+                        case 6:
                             serializationObject[targetPropertyName] = sourceProperty.id;
                             break;
                     }
@@ -96,9 +103,12 @@ var BABYLON;
                             destination[property] = BABYLON.FresnelParameters.Parse(sourceProperty);
                             break;
                         case 4:
-                            destination[property] = BABYLON.Vector3.FromArray(sourceProperty);
+                            destination[property] = BABYLON.Vector2.FromArray(sourceProperty);
                             break;
                         case 5:
+                            destination[property] = BABYLON.Vector3.FromArray(sourceProperty);
+                            break;
+                        case 6:
                             destination[property] = scene.getLastMeshByID(sourceProperty);
                             break;
                     }
@@ -118,13 +128,14 @@ var BABYLON;
                 if (sourceProperty !== undefined && sourceProperty !== null) {
                     switch (propertyType) {
                         case 0: // Value
-                        case 5:
+                        case 6:
                             destination[property] = sourceProperty;
                             break;
                         case 1: // Texture
                         case 2: // Color3
                         case 3: // FresnelParameters
-                        case 4:
+                        case 4: // Vector2
+                        case 5:
                             destination[property] = sourceProperty.clone();
                             break;
                     }

+ 20 - 9
src/Tools/babylon.decorators.ts

@@ -5,7 +5,7 @@
                 target.__serializableMembers = {};
             }
 
-            target.__serializableMembers[propertyKey] = { type: type, sourceName: sourceName }; 
+            target.__serializableMembers[propertyKey] = { type: type, sourceName: sourceName };
         }
     }
 
@@ -25,12 +25,16 @@
         return generateSerializableMember(3, sourceName); // fresnel parameters member
     }
 
+    export function serializeAsVector2(sourceName?: string) {
+        return generateSerializableMember(4, sourceName); // vector2 member
+    }
+
     export function serializeAsVector3(sourceName?: string) {
-        return generateSerializableMember(4, sourceName); // vector3 member
+        return generateSerializableMember(5, sourceName); // vector3 member
     }
 
     export function serializeAsMeshReference(sourceName?: string) {
-        return generateSerializableMember(5, sourceName); // mesh reference member
+        return generateSerializableMember(6, sourceName); // mesh reference member
     }
 
     export class SerializationHelper {
@@ -64,10 +68,13 @@
                         case 3:     // FresnelParameters
                             serializationObject[targetPropertyName] = sourceProperty.serialize();
                             break;
-                        case 4:     // Vector3
+                        case 4:     // Vector2
                             serializationObject[targetPropertyName] = sourceProperty.asArray();
                             break;
-                        case 5:     // Mesh reference
+                        case 5:     // Vector3
+                            serializationObject[targetPropertyName] = sourceProperty.asArray();
+                            break;
+                        case 6:     // Mesh reference
                             serializationObject[targetPropertyName] = sourceProperty.id;
                             break;
                     }
@@ -103,10 +110,13 @@
                         case 3:     // FresnelParameters
                             destination[property] = FresnelParameters.Parse(sourceProperty);
                             break;
-                        case 4:     // Vector3
+                        case 4:     // Vector2
+                            destination[property] = Vector2.FromArray(sourceProperty);
+                            break;
+                        case 5:     // Vector3
                             destination[property] = Vector3.FromArray(sourceProperty);
                             break;
-                        case 5:     // Mesh reference
+                        case 6:     // Mesh reference
                             destination[property] = scene.getLastMeshByID(sourceProperty);
                             break;
                     }
@@ -131,13 +141,14 @@
                 if (sourceProperty !== undefined && sourceProperty !== null) {
                     switch (propertyType) {
                         case 0:     // Value
-                        case 5:     // Mesh reference
+                        case 6:     // Mesh reference
                             destination[property] = sourceProperty;
                             break;
                         case 1:     // Texture
                         case 2:     // Color3
                         case 3:     // FresnelParameters
-                        case 4:     // Vector3
+                        case 4:     // Vector2
+                        case 5:     // Vector3
                             destination[property] = sourceProperty.clone();
                             break;
                     }