@galacean/engine-core 1.3.19 → 1.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +217 -155
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +217 -155
- package/dist/module.js +217 -155
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/asset/Loader.d.ts +0 -2
- package/types/particle/ParticleGenerator.d.ts +1 -0
package/dist/main.js
CHANGED
|
@@ -18672,8 +18672,20 @@ __decorate([
|
|
|
18672
18672
|
mesh.setVertexElements([
|
|
18673
18673
|
new VertexElement("POSITION_UV", 0, exports.VertexElementFormat.Vector4, 0)
|
|
18674
18674
|
]);
|
|
18675
|
-
|
|
18675
|
+
var buffer = new Buffer(engine, exports.BufferBindFlag.VertexBuffer, vertices, exports.BufferUsage.Static, true);
|
|
18676
|
+
mesh.setVertexBufferBinding(buffer, 16);
|
|
18676
18677
|
mesh.addSubMesh(0, 3, exports.MeshTopology.Triangles);
|
|
18678
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
18679
|
+
_inherits(_class, ContentRestorer);
|
|
18680
|
+
function _class() {
|
|
18681
|
+
return ContentRestorer.call(this, mesh);
|
|
18682
|
+
}
|
|
18683
|
+
var _proto = _class.prototype;
|
|
18684
|
+
_proto.restoreContent = function restoreContent() {
|
|
18685
|
+
buffer.setData(buffer.data);
|
|
18686
|
+
};
|
|
18687
|
+
return _class;
|
|
18688
|
+
}(ContentRestorer))());
|
|
18677
18689
|
return mesh;
|
|
18678
18690
|
};
|
|
18679
18691
|
_proto._create1x1Texture = function _create1x1Texture(engine, type, format, pixel) {
|
|
@@ -19464,6 +19476,151 @@ var /** @internal */ PromiseState;
|
|
|
19464
19476
|
PromiseState["Canceled"] = "canceled";
|
|
19465
19477
|
})(PromiseState || (PromiseState = {}));
|
|
19466
19478
|
|
|
19479
|
+
var mimeType = {
|
|
19480
|
+
json: "json",
|
|
19481
|
+
gltf: "json",
|
|
19482
|
+
mtl: "json",
|
|
19483
|
+
prefab: "json",
|
|
19484
|
+
txt: "text",
|
|
19485
|
+
bin: "arraybuffer",
|
|
19486
|
+
png: "image",
|
|
19487
|
+
webp: "image",
|
|
19488
|
+
jpg: "image"
|
|
19489
|
+
};
|
|
19490
|
+
var defaultRetryCount = 1;
|
|
19491
|
+
var defaultTimeout = Infinity;
|
|
19492
|
+
var defaultInterval = 500;
|
|
19493
|
+
/**
|
|
19494
|
+
* Web request.
|
|
19495
|
+
* @param url - The link
|
|
19496
|
+
* @param config - Load configuration
|
|
19497
|
+
*/ function request(url, config) {
|
|
19498
|
+
if (config === void 0) config = {};
|
|
19499
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
19500
|
+
var _config_retryCount;
|
|
19501
|
+
var retryCount = (_config_retryCount = config.retryCount) != null ? _config_retryCount : defaultRetryCount;
|
|
19502
|
+
var _config_retryInterval;
|
|
19503
|
+
var retryInterval = (_config_retryInterval = config.retryInterval) != null ? _config_retryInterval : defaultInterval;
|
|
19504
|
+
var _config_timeout;
|
|
19505
|
+
config.timeout = (_config_timeout = config.timeout) != null ? _config_timeout : defaultTimeout;
|
|
19506
|
+
var _config_type;
|
|
19507
|
+
config.type = (_config_type = config.type) != null ? _config_type : getMimeTypeFromUrl(url);
|
|
19508
|
+
var executor = new MultiExecutor(function() {
|
|
19509
|
+
return requestRes(url, config).onProgress(setTaskCompleteProgress, setTaskDetailProgress);
|
|
19510
|
+
}, retryCount, retryInterval);
|
|
19511
|
+
executor.start().onError(reject).onComplete(resolve);
|
|
19512
|
+
});
|
|
19513
|
+
}
|
|
19514
|
+
function requestRes(url, config) {
|
|
19515
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
19516
|
+
var xhr = new XMLHttpRequest();
|
|
19517
|
+
var isImg = config.type === "image";
|
|
19518
|
+
xhr.timeout = config.timeout;
|
|
19519
|
+
var _config_method;
|
|
19520
|
+
config.method = (_config_method = config.method) != null ? _config_method : "get";
|
|
19521
|
+
xhr.onload = function() {
|
|
19522
|
+
if (xhr.status < 200 || xhr.status >= 300) {
|
|
19523
|
+
reject(new Error("request failed from: " + url));
|
|
19524
|
+
return;
|
|
19525
|
+
}
|
|
19526
|
+
var _xhr_response;
|
|
19527
|
+
var result = (_xhr_response = xhr.response) != null ? _xhr_response : xhr.responseText;
|
|
19528
|
+
if (isImg) {
|
|
19529
|
+
var img = new Image();
|
|
19530
|
+
img.onload = function() {
|
|
19531
|
+
// Call requestAnimationFrame to avoid iOS's bug.
|
|
19532
|
+
requestAnimationFrame(function() {
|
|
19533
|
+
setTaskCompleteProgress(1, 1);
|
|
19534
|
+
//@ts-ignore
|
|
19535
|
+
resolve(img);
|
|
19536
|
+
img.onload = null;
|
|
19537
|
+
img.onerror = null;
|
|
19538
|
+
img.onabort = null;
|
|
19539
|
+
URL.revokeObjectURL(img.src);
|
|
19540
|
+
});
|
|
19541
|
+
};
|
|
19542
|
+
img.onerror = img.onabort = function() {
|
|
19543
|
+
reject(new Error("request " + img.src + " fail"));
|
|
19544
|
+
URL.revokeObjectURL(img.src);
|
|
19545
|
+
};
|
|
19546
|
+
img.crossOrigin = "anonymous";
|
|
19547
|
+
img.src = URL.createObjectURL(result);
|
|
19548
|
+
} else {
|
|
19549
|
+
setTaskCompleteProgress(1, 1);
|
|
19550
|
+
resolve(result);
|
|
19551
|
+
}
|
|
19552
|
+
};
|
|
19553
|
+
xhr.onerror = function() {
|
|
19554
|
+
reject(new Error("request failed from: " + url));
|
|
19555
|
+
};
|
|
19556
|
+
xhr.ontimeout = function() {
|
|
19557
|
+
reject(new Error("request timeout from: " + url));
|
|
19558
|
+
};
|
|
19559
|
+
xhr.onprogress = function(e) {
|
|
19560
|
+
if (e.lengthComputable) {
|
|
19561
|
+
setTaskDetailProgress(url, e.loaded, e.total);
|
|
19562
|
+
}
|
|
19563
|
+
};
|
|
19564
|
+
xhr.open(config.method, url, true);
|
|
19565
|
+
xhr.withCredentials = config.credentials === "include";
|
|
19566
|
+
// @ts-ignore
|
|
19567
|
+
xhr.responseType = isImg ? "blob" : config.type;
|
|
19568
|
+
var headers = config.headers;
|
|
19569
|
+
if (headers) {
|
|
19570
|
+
Object.keys(headers).forEach(function(name) {
|
|
19571
|
+
xhr.setRequestHeader(name, headers[name]);
|
|
19572
|
+
});
|
|
19573
|
+
}
|
|
19574
|
+
// @ts-ignore
|
|
19575
|
+
xhr.send(config.body);
|
|
19576
|
+
});
|
|
19577
|
+
}
|
|
19578
|
+
function getMimeTypeFromUrl(url) {
|
|
19579
|
+
var extname = url.substring(url.lastIndexOf(".") + 1);
|
|
19580
|
+
return mimeType[extname];
|
|
19581
|
+
}
|
|
19582
|
+
var MultiExecutor = /*#__PURE__*/ function() {
|
|
19583
|
+
function MultiExecutor(execFunc, totalCount, interval) {
|
|
19584
|
+
this.execFunc = execFunc;
|
|
19585
|
+
this.totalCount = totalCount;
|
|
19586
|
+
this.interval = interval;
|
|
19587
|
+
this._timeoutId = -100;
|
|
19588
|
+
this._currentCount = 0;
|
|
19589
|
+
this.exec = this.exec.bind(this);
|
|
19590
|
+
}
|
|
19591
|
+
var _proto = MultiExecutor.prototype;
|
|
19592
|
+
_proto.start = function start() {
|
|
19593
|
+
this.exec();
|
|
19594
|
+
return this;
|
|
19595
|
+
};
|
|
19596
|
+
_proto.onComplete = function onComplete(func) {
|
|
19597
|
+
this._onComplete = func;
|
|
19598
|
+
return this;
|
|
19599
|
+
};
|
|
19600
|
+
_proto.onError = function onError(func) {
|
|
19601
|
+
this._onError = func;
|
|
19602
|
+
return this;
|
|
19603
|
+
};
|
|
19604
|
+
_proto.cancel = function cancel() {
|
|
19605
|
+
window.clearTimeout(this._timeoutId);
|
|
19606
|
+
};
|
|
19607
|
+
_proto.exec = function exec() {
|
|
19608
|
+
var _this = this;
|
|
19609
|
+
if (this._currentCount >= this.totalCount) {
|
|
19610
|
+
this._onError && this._onError(this._error);
|
|
19611
|
+
return;
|
|
19612
|
+
}
|
|
19613
|
+
this._currentCount++;
|
|
19614
|
+
this.execFunc(this._currentCount).then(function(result) {
|
|
19615
|
+
return _this._onComplete && _this._onComplete(result);
|
|
19616
|
+
}).catch(function(e) {
|
|
19617
|
+
_this._error = e;
|
|
19618
|
+
_this._timeoutId = window.setTimeout(_this.exec, _this.interval);
|
|
19619
|
+
});
|
|
19620
|
+
};
|
|
19621
|
+
return MultiExecutor;
|
|
19622
|
+
}();
|
|
19623
|
+
|
|
19467
19624
|
/**
|
|
19468
19625
|
* ResourceManager
|
|
19469
19626
|
*/ var ResourceManager = /*#__PURE__*/ function() {
|
|
@@ -19559,6 +19716,23 @@ var /** @internal */ PromiseState;
|
|
|
19559
19716
|
};
|
|
19560
19717
|
/**
|
|
19561
19718
|
* @internal
|
|
19719
|
+
*/ _proto._getRemoteUrl = function _getRemoteUrl(url) {
|
|
19720
|
+
var _this__virtualPathMap_url;
|
|
19721
|
+
return (_this__virtualPathMap_url = this._virtualPathMap[url]) != null ? _this__virtualPathMap_url : url;
|
|
19722
|
+
};
|
|
19723
|
+
/**
|
|
19724
|
+
* @internal
|
|
19725
|
+
*/ _proto._requestByRemoteUrl = function _requestByRemoteUrl(url, config) {
|
|
19726
|
+
return request(url, config);
|
|
19727
|
+
};
|
|
19728
|
+
/**
|
|
19729
|
+
* @internal
|
|
19730
|
+
*/ _proto._request = function _request(url, config) {
|
|
19731
|
+
var remoteUrl = this._getRemoteUrl(url);
|
|
19732
|
+
return this._requestByRemoteUrl(remoteUrl, config);
|
|
19733
|
+
};
|
|
19734
|
+
/**
|
|
19735
|
+
* @internal
|
|
19562
19736
|
*/ _proto._onSubAssetSuccess = function _onSubAssetSuccess(assetBaseURL, assetSubPath, value) {
|
|
19563
19737
|
var _this__subAssetPromiseCallbacks_remoteAssetBaseURL;
|
|
19564
19738
|
var _this__virtualPathMap_assetBaseURL;
|
|
@@ -24088,7 +24262,21 @@ ShaderPool.init();
|
|
|
24088
24262
|
mesh.uploadData(false);
|
|
24089
24263
|
};
|
|
24090
24264
|
_proto._initMesh = function _initMesh(engine) {
|
|
24091
|
-
this._mesh = this._createPlane(engine);
|
|
24265
|
+
var mesh = this._mesh = this._createPlane(engine);
|
|
24266
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
24267
|
+
_inherits(_class, ContentRestorer);
|
|
24268
|
+
function _class() {
|
|
24269
|
+
return ContentRestorer.call(this, mesh);
|
|
24270
|
+
}
|
|
24271
|
+
var _proto = _class.prototype;
|
|
24272
|
+
_proto.restoreContent = function restoreContent() {
|
|
24273
|
+
mesh.setPositions(mesh.getPositions());
|
|
24274
|
+
mesh.setUVs(mesh.getUVs());
|
|
24275
|
+
mesh.setIndices(mesh.getIndices());
|
|
24276
|
+
mesh.uploadData(false);
|
|
24277
|
+
};
|
|
24278
|
+
return _class;
|
|
24279
|
+
}(ContentRestorer))());
|
|
24092
24280
|
this._mesh._addReferCount(1);
|
|
24093
24281
|
};
|
|
24094
24282
|
_proto._initMaterial = function _initMaterial(engine) {
|
|
@@ -26335,163 +26523,12 @@ __decorate([
|
|
|
26335
26523
|
ignoreClone
|
|
26336
26524
|
], Script.prototype, "_entityScriptsIndex", void 0);
|
|
26337
26525
|
|
|
26338
|
-
var mimeType = {
|
|
26339
|
-
json: "json",
|
|
26340
|
-
gltf: "json",
|
|
26341
|
-
mtl: "json",
|
|
26342
|
-
prefab: "json",
|
|
26343
|
-
txt: "text",
|
|
26344
|
-
bin: "arraybuffer",
|
|
26345
|
-
png: "image",
|
|
26346
|
-
webp: "image",
|
|
26347
|
-
jpg: "image"
|
|
26348
|
-
};
|
|
26349
|
-
var defaultRetryCount = 1;
|
|
26350
|
-
var defaultTimeout = Infinity;
|
|
26351
|
-
var defaultInterval = 500;
|
|
26352
|
-
/**
|
|
26353
|
-
* Web request.
|
|
26354
|
-
* @param url - The link
|
|
26355
|
-
* @param config - Load configuration
|
|
26356
|
-
*/ function request(url, config) {
|
|
26357
|
-
if (config === void 0) config = {};
|
|
26358
|
-
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
26359
|
-
var _config_retryCount;
|
|
26360
|
-
var retryCount = (_config_retryCount = config.retryCount) != null ? _config_retryCount : defaultRetryCount;
|
|
26361
|
-
var _config_retryInterval;
|
|
26362
|
-
var retryInterval = (_config_retryInterval = config.retryInterval) != null ? _config_retryInterval : defaultInterval;
|
|
26363
|
-
var _config_timeout;
|
|
26364
|
-
config.timeout = (_config_timeout = config.timeout) != null ? _config_timeout : defaultTimeout;
|
|
26365
|
-
var _config_type;
|
|
26366
|
-
config.type = (_config_type = config.type) != null ? _config_type : getMimeTypeFromUrl(url);
|
|
26367
|
-
var executor = new MultiExecutor(function() {
|
|
26368
|
-
return requestRes(url, config).onProgress(setTaskCompleteProgress, setTaskDetailProgress);
|
|
26369
|
-
}, retryCount, retryInterval);
|
|
26370
|
-
executor.start().onError(reject).onComplete(resolve);
|
|
26371
|
-
});
|
|
26372
|
-
}
|
|
26373
|
-
function requestRes(url, config) {
|
|
26374
|
-
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
26375
|
-
var xhr = new XMLHttpRequest();
|
|
26376
|
-
var isImg = config.type === "image";
|
|
26377
|
-
xhr.timeout = config.timeout;
|
|
26378
|
-
var _config_method;
|
|
26379
|
-
config.method = (_config_method = config.method) != null ? _config_method : "get";
|
|
26380
|
-
xhr.onload = function() {
|
|
26381
|
-
if (xhr.status < 200 || xhr.status >= 300) {
|
|
26382
|
-
reject(new Error("request failed from: " + url));
|
|
26383
|
-
return;
|
|
26384
|
-
}
|
|
26385
|
-
var _xhr_response;
|
|
26386
|
-
var result = (_xhr_response = xhr.response) != null ? _xhr_response : xhr.responseText;
|
|
26387
|
-
if (isImg) {
|
|
26388
|
-
var img = new Image();
|
|
26389
|
-
img.onload = function() {
|
|
26390
|
-
// Call requestAnimationFrame to avoid iOS's bug.
|
|
26391
|
-
requestAnimationFrame(function() {
|
|
26392
|
-
setTaskCompleteProgress(1, 1);
|
|
26393
|
-
//@ts-ignore
|
|
26394
|
-
resolve(img);
|
|
26395
|
-
img.onload = null;
|
|
26396
|
-
img.onerror = null;
|
|
26397
|
-
img.onabort = null;
|
|
26398
|
-
URL.revokeObjectURL(img.src);
|
|
26399
|
-
});
|
|
26400
|
-
};
|
|
26401
|
-
img.onerror = img.onabort = function() {
|
|
26402
|
-
reject(new Error("request " + img.src + " fail"));
|
|
26403
|
-
URL.revokeObjectURL(img.src);
|
|
26404
|
-
};
|
|
26405
|
-
img.crossOrigin = "anonymous";
|
|
26406
|
-
img.src = URL.createObjectURL(result);
|
|
26407
|
-
} else {
|
|
26408
|
-
setTaskCompleteProgress(1, 1);
|
|
26409
|
-
resolve(result);
|
|
26410
|
-
}
|
|
26411
|
-
};
|
|
26412
|
-
xhr.onerror = function() {
|
|
26413
|
-
reject(new Error("request failed from: " + url));
|
|
26414
|
-
};
|
|
26415
|
-
xhr.ontimeout = function() {
|
|
26416
|
-
reject(new Error("request timeout from: " + url));
|
|
26417
|
-
};
|
|
26418
|
-
xhr.onprogress = function(e) {
|
|
26419
|
-
if (e.lengthComputable) {
|
|
26420
|
-
setTaskDetailProgress(url, e.loaded, e.total);
|
|
26421
|
-
}
|
|
26422
|
-
};
|
|
26423
|
-
xhr.open(config.method, url, true);
|
|
26424
|
-
xhr.withCredentials = config.credentials === "include";
|
|
26425
|
-
// @ts-ignore
|
|
26426
|
-
xhr.responseType = isImg ? "blob" : config.type;
|
|
26427
|
-
var headers = config.headers;
|
|
26428
|
-
if (headers) {
|
|
26429
|
-
Object.keys(headers).forEach(function(name) {
|
|
26430
|
-
xhr.setRequestHeader(name, headers[name]);
|
|
26431
|
-
});
|
|
26432
|
-
}
|
|
26433
|
-
// @ts-ignore
|
|
26434
|
-
xhr.send(config.body);
|
|
26435
|
-
});
|
|
26436
|
-
}
|
|
26437
|
-
function getMimeTypeFromUrl(url) {
|
|
26438
|
-
var extname = url.substring(url.lastIndexOf(".") + 1);
|
|
26439
|
-
return mimeType[extname];
|
|
26440
|
-
}
|
|
26441
|
-
var MultiExecutor = /*#__PURE__*/ function() {
|
|
26442
|
-
function MultiExecutor(execFunc, totalCount, interval) {
|
|
26443
|
-
this.execFunc = execFunc;
|
|
26444
|
-
this.totalCount = totalCount;
|
|
26445
|
-
this.interval = interval;
|
|
26446
|
-
this._timeoutId = -100;
|
|
26447
|
-
this._currentCount = 0;
|
|
26448
|
-
this.exec = this.exec.bind(this);
|
|
26449
|
-
}
|
|
26450
|
-
var _proto = MultiExecutor.prototype;
|
|
26451
|
-
_proto.start = function start() {
|
|
26452
|
-
this.exec();
|
|
26453
|
-
return this;
|
|
26454
|
-
};
|
|
26455
|
-
_proto.onComplete = function onComplete(func) {
|
|
26456
|
-
this._onComplete = func;
|
|
26457
|
-
return this;
|
|
26458
|
-
};
|
|
26459
|
-
_proto.onError = function onError(func) {
|
|
26460
|
-
this._onError = func;
|
|
26461
|
-
return this;
|
|
26462
|
-
};
|
|
26463
|
-
_proto.cancel = function cancel() {
|
|
26464
|
-
window.clearTimeout(this._timeoutId);
|
|
26465
|
-
};
|
|
26466
|
-
_proto.exec = function exec() {
|
|
26467
|
-
var _this = this;
|
|
26468
|
-
if (this._currentCount >= this.totalCount) {
|
|
26469
|
-
this._onError && this._onError(this._error);
|
|
26470
|
-
return;
|
|
26471
|
-
}
|
|
26472
|
-
this._currentCount++;
|
|
26473
|
-
this.execFunc(this._currentCount).then(function(result) {
|
|
26474
|
-
return _this._onComplete && _this._onComplete(result);
|
|
26475
|
-
}).catch(function(e) {
|
|
26476
|
-
_this._error = e;
|
|
26477
|
-
_this._timeoutId = window.setTimeout(_this.exec, _this.interval);
|
|
26478
|
-
});
|
|
26479
|
-
};
|
|
26480
|
-
return MultiExecutor;
|
|
26481
|
-
}();
|
|
26482
|
-
|
|
26483
26526
|
/**
|
|
26484
26527
|
* Loader abstract class.
|
|
26485
26528
|
*/ var Loader = /*#__PURE__*/ function() {
|
|
26486
26529
|
function Loader(useCache) {
|
|
26487
26530
|
this.useCache = useCache;
|
|
26488
26531
|
}
|
|
26489
|
-
var _proto = Loader.prototype;
|
|
26490
|
-
_proto.request = function request1(url, resourceManager, config) {
|
|
26491
|
-
var _resourceManager__virtualPathMap_url;
|
|
26492
|
-
var remoteUrl = (_resourceManager__virtualPathMap_url = resourceManager._virtualPathMap[url]) != null ? _resourceManager__virtualPathMap_url : url;
|
|
26493
|
-
return request(remoteUrl, config);
|
|
26494
|
-
};
|
|
26495
26532
|
/**
|
|
26496
26533
|
* Register a class with a string name for serialization and deserialization.
|
|
26497
26534
|
* @param key - class name
|
|
@@ -30323,6 +30360,10 @@ exports.ParticleStopMode = void 0;
|
|
|
30323
30360
|
if (!this._supportInstancedArrays) {
|
|
30324
30361
|
return;
|
|
30325
30362
|
}
|
|
30363
|
+
// Don't need to render when no particles
|
|
30364
|
+
if (!this.generator._getAliveParticleCount()) {
|
|
30365
|
+
return;
|
|
30366
|
+
}
|
|
30326
30367
|
Renderer1.prototype._prepareRender.call(this, context);
|
|
30327
30368
|
};
|
|
30328
30369
|
/**
|
|
@@ -31482,6 +31523,7 @@ var MainModule = /*#__PURE__*/ function() {
|
|
|
31482
31523
|
/** Control how the Particle Generator applies its Transform component to the particles it emits. */ this.scalingMode = exports.ParticleScaleMode.Local;
|
|
31483
31524
|
/** If set to true, the Particle Generator automatically begins to play on startup. */ this.playOnEnabled = true;
|
|
31484
31525
|
/** @internal */ this._maxParticleBuffer = 1000;
|
|
31526
|
+
/** @internal */ this._startDelayRand = new engineMath.Rand(0, ParticleRandomSubSeeds.StartDelay);
|
|
31485
31527
|
/** @internal */ this._startSpeedRand = new engineMath.Rand(0, ParticleRandomSubSeeds.StartSpeed);
|
|
31486
31528
|
/** @internal */ this._startLifeTimeRand = new engineMath.Rand(0, ParticleRandomSubSeeds.StartLifetime);
|
|
31487
31529
|
/** @internal */ this._startColorRand = new engineMath.Rand(0, ParticleRandomSubSeeds.StartColor);
|
|
@@ -31766,6 +31808,9 @@ __decorate([
|
|
|
31766
31808
|
__decorate([
|
|
31767
31809
|
ignoreClone
|
|
31768
31810
|
], MainModule.prototype, "_maxParticleBuffer", void 0);
|
|
31811
|
+
__decorate([
|
|
31812
|
+
ignoreClone
|
|
31813
|
+
], MainModule.prototype, "_startDelayRand", void 0);
|
|
31769
31814
|
__decorate([
|
|
31770
31815
|
ignoreClone
|
|
31771
31816
|
], MainModule.prototype, "_startSpeedRand", void 0);
|
|
@@ -32610,6 +32655,7 @@ __decorate([
|
|
|
32610
32655
|
this._transformedBoundsCount = 0;
|
|
32611
32656
|
this._firstActiveTransformedBoundingBox = 0;
|
|
32612
32657
|
this._firstFreeTransformedBoundingBox = 0;
|
|
32658
|
+
this._playStartDelay = 0;
|
|
32613
32659
|
this._renderer = renderer;
|
|
32614
32660
|
var subPrimitive = new SubPrimitive();
|
|
32615
32661
|
subPrimitive.start = 0;
|
|
@@ -32638,6 +32684,7 @@ __decorate([
|
|
|
32638
32684
|
if (this.useAutoRandomSeed) {
|
|
32639
32685
|
this._resetGlobalRandSeed(Math.floor(Math.random() * 0xffffffff)); // 2^32 - 1
|
|
32640
32686
|
}
|
|
32687
|
+
this._playStartDelay = this.main.startDelay.evaluate(undefined, this.main._startDelayRand.random());
|
|
32641
32688
|
}
|
|
32642
32689
|
};
|
|
32643
32690
|
/**
|
|
@@ -32678,7 +32725,8 @@ __decorate([
|
|
|
32678
32725
|
*/ _proto._emit = function _emit(time, count) {
|
|
32679
32726
|
if (this.emission.enabled) {
|
|
32680
32727
|
// Wait the existing particles to be retired
|
|
32681
|
-
|
|
32728
|
+
var notRetireParticleCount = this._getNotRetiredParticleCount();
|
|
32729
|
+
if (notRetireParticleCount >= this.main.maxParticles) {
|
|
32682
32730
|
return;
|
|
32683
32731
|
}
|
|
32684
32732
|
var position = ParticleGenerator._tempVector30;
|
|
@@ -32707,7 +32755,18 @@ __decorate([
|
|
|
32707
32755
|
var _this = this, main = _this.main, emission = _this.emission;
|
|
32708
32756
|
var duration = main.duration;
|
|
32709
32757
|
var lastPlayTime = this._playTime;
|
|
32710
|
-
|
|
32758
|
+
var deltaTime = elapsedTime * main.simulationSpeed;
|
|
32759
|
+
// Process start delay time
|
|
32760
|
+
if (this._playStartDelay > 0) {
|
|
32761
|
+
var remainingDelay = this._playStartDelay -= deltaTime;
|
|
32762
|
+
if (remainingDelay < 0) {
|
|
32763
|
+
this._playTime -= remainingDelay;
|
|
32764
|
+
this._playStartDelay = 0;
|
|
32765
|
+
} else {
|
|
32766
|
+
return;
|
|
32767
|
+
}
|
|
32768
|
+
}
|
|
32769
|
+
this._playTime += deltaTime;
|
|
32711
32770
|
this._retireActiveParticles();
|
|
32712
32771
|
this._freeRetiredParticles();
|
|
32713
32772
|
if (main.simulationSpace === exports.ParticleSimulationSpace.World) {
|
|
@@ -33484,6 +33543,9 @@ __decorate([
|
|
|
33484
33543
|
__decorate([
|
|
33485
33544
|
ignoreClone
|
|
33486
33545
|
], ParticleGenerator.prototype, "_firstFreeTransformedBoundingBox", void 0);
|
|
33546
|
+
__decorate([
|
|
33547
|
+
ignoreClone
|
|
33548
|
+
], ParticleGenerator.prototype, "_playStartDelay", void 0);
|
|
33487
33549
|
|
|
33488
33550
|
/**
|
|
33489
33551
|
* Particle Material.
|