From 2e0c76ebdb1e3fa372b895c6f3286e199e9e1ddc Mon Sep 17 00:00:00 2001 From: dgflash Date: Mon, 13 Mar 2023 10:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9A=8F=E6=9C=BA=E6=95=B0?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/core/common/random/RandomManager.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/assets/core/common/random/RandomManager.ts b/assets/core/common/random/RandomManager.ts index 3b76f9e..85e383b 100644 --- a/assets/core/common/random/RandomManager.ts +++ b/assets/core/common/random/RandomManager.ts @@ -4,6 +4,9 @@ export class RandomManager { private static _instance: RandomManager; + /** 是否运行在客户端环境 */ + isClient: boolean = true; + /** 随机数管理单例对象 */ static get instance(): RandomManager { if (this._instance == null) { @@ -12,18 +15,24 @@ export class RandomManager { return this._instance; } - private seedrandom!: any; private getRandom(): number { - if (this.seedrandom) - return this.seedrandom.quick(); - return Math.random(); } /** 设置随机种子 */ setSeed(seed: number) { - //@ts-ignore - this.seedrandom = new Math.seedrandom(seed); + if (this.isClient) { + //注:seedrandom.min.js文件在Cocos Creator中导入为插件生效 + //@ts-ignore + if (Math.seedrandom) { + //@ts-ignore + new Math.seedrandom(seed, { global: true }); + } + } + else { + var seedrandom = require('seedrandom'); + new seedrandom(seed, { global: true }); + } } /**