Przeglądaj źródła

Fix support for deterministicLockStep in nullEngine (Fix #3356)

David Catuhe 7 lat temu
rodzic
commit
cb9fbab164

Plik diff jest za duży
+ 5755 - 5752
Playground/babylon.d.txt


Plik diff jest za duży
+ 5860 - 5857
dist/preview release/babylon.d.ts


Plik diff jest za duży
+ 3 - 3
dist/preview release/babylon.js


+ 14 - 0
dist/preview release/babylon.max.js

@@ -77764,6 +77764,8 @@ var BABYLON;
             this.renderWidth = 512;
             this.renderHeight = 256;
             this.textureSize = 512;
+            this.deterministicLockstep = false;
+            this.lockstepMaxSteps = 4;
         }
         return NullEngineOptions;
     }());
@@ -77777,6 +77779,12 @@ var BABYLON;
         function NullEngine(options) {
             if (options === void 0) { options = new NullEngineOptions(); }
             var _this = _super.call(this, null) || this;
+            if (options.deterministicLockstep === undefined) {
+                options.deterministicLockstep = false;
+            }
+            if (options.lockstepMaxSteps === undefined) {
+                options.lockstepMaxSteps = 4;
+            }
             _this._options = options;
             // Init caps
             // We consider we are on a webgl1 capable device
@@ -77827,6 +77835,12 @@ var BABYLON;
             }
             return _this;
         }
+        NullEngine.prototype.isDeterministicLockStep = function () {
+            return this._options.deterministicLockstep;
+        };
+        NullEngine.prototype.getLockstepMaxSteps = function () {
+            return this._options.lockstepMaxSteps;
+        };
         NullEngine.prototype.createVertexBuffer = function (vertices) {
             return {
                 capacity: 0,

Plik diff jest za duży
+ 3 - 3
dist/preview release/babylon.worker.js


Plik diff jest za duży
+ 3 - 3
dist/preview release/viewer/babylon.viewer.js


+ 0 - 1
src/Engine/babylon.engine.ts

@@ -298,7 +298,6 @@
         deterministicLockstep?: boolean;
         lockstepMaxSteps?: number;
         doNotHandleContextLost?: boolean;
-        constantAnimationDeltaTime?: number;
     }
 
     export interface IDisplayChangedEventArgs {

+ 19 - 0
src/Engine/babylon.nullEngine.ts

@@ -5,6 +5,9 @@
         public renderHeight = 256;
 
         public textureSize = 512;
+
+        public deterministicLockstep = false;
+        public lockstepMaxSteps = 4;
     }
 
     /**
@@ -14,9 +17,25 @@
     export class NullEngine extends Engine {
         private _options: NullEngineOptions;
 
+        public isDeterministicLockStep(): boolean {
+            return this._options.deterministicLockstep;
+        }
+
+        public getLockstepMaxSteps(): number {
+            return this._options.lockstepMaxSteps;
+        }
+
         public constructor(options: NullEngineOptions = new NullEngineOptions()) {
             super(null);
 
+            if (options.deterministicLockstep === undefined) {
+                options.deterministicLockstep = false;
+            }
+
+            if (options.lockstepMaxSteps === undefined) {
+                options.lockstepMaxSteps = 4;
+            }
+
             this._options = options;
 
             // Init caps