Kaynağa Gözat

Remove Tools import

Popov72 4 yıl önce
ebeveyn
işleme
dbbbbc3902
1 değiştirilmiş dosya ile 11 ekleme ve 3 silme
  1. 11 3
      src/Meshes/buffer.ts

+ 11 - 3
src/Meshes/buffer.ts

@@ -1,7 +1,6 @@
 import { Nullable, DataArray, FloatArray } from "../types";
 import { ThinEngine } from "../Engines/thinEngine";
 import { DataBuffer } from "./dataBuffer";
-import { Tools } from "../Misc/tools";
 
 /**
  * Class used to store data that will be store in GPU memory
@@ -212,6 +211,15 @@ export class VertexBuffer {
     private _instanced: boolean;
     private _instanceDivisor: number;
 
+    // Copied from Tools. We don't import Tools to avoid raising the size of the package too much
+    private static _Slice<T>(data: T, start?: number, end?: number): T {
+        if ((data as any).slice) {
+            return (data as any).slice(start, end);
+        }
+
+        return Array.prototype.slice.call(data, start, end);
+    }
+
     /**
      * The byte type.
      */
@@ -416,7 +424,7 @@ export class VertexBuffer {
         if (!(data instanceof Array || data instanceof Float32Array) || vertexBuffer.byteOffset !== 0 || data.length !== count) {
             if (data instanceof Array) {
                 const offset = vertexBuffer.byteOffset / 4;
-                return Tools.Slice(data, offset, offset + count);
+                return VertexBuffer._Slice(data, offset, offset + count);
             } else if (data instanceof ArrayBuffer) {
                 return new Float32Array(data, vertexBuffer.byteOffset, count);
             } else {
@@ -442,7 +450,7 @@ export class VertexBuffer {
         }
 
         if (forceCopy) {
-            return Tools.Slice(data);
+            return VertexBuffer._Slice(data);
         }
 
         return data;