From c2cdfc42ab2760fcb4446ad96cd469bbbaf4a43c Mon Sep 17 00:00:00 2001 From: donggang <> Date: Mon, 26 Feb 2024 14:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20oops.gui.replace=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E6=9B=BF=E6=8D=A2=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/core/gui/layer/LayerManager.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/assets/core/gui/layer/LayerManager.ts b/assets/core/gui/layer/LayerManager.ts index 60cd1fd..58c76d7 100644 --- a/assets/core/gui/layer/LayerManager.ts +++ b/assets/core/gui/layer/LayerManager.ts @@ -188,6 +188,28 @@ export class LayerManager { }); } + /** + * 场景替换 + * @param removeUiId 移除场景编号 + * @param openUiId 新打开场景编号 + * @param uiArgs 新打开场景参数 + */ + replace(removeUiId: number, openUiId: number, uiArgs: any = null) { + this.remove(removeUiId); + this.open(openUiId, uiArgs); + } + + /** + * 异步场景替换 + * @param removeUiId 移除场景编号 + * @param openUiId 新打开场景编号 + * @param uiArgs 新打开场景参数 + */ + replaceAsync(removeUiId: number, openUiId: number, uiArgs: any = null): Promise { + this.remove(removeUiId); + return this.openAsync(openUiId, uiArgs); + } + /** * 缓存中是否存在指定标识的窗口 * @param uiId 窗口唯一标识