From 33e0fde0128c635f5fa31e5e37ed29a595c8b005 Mon Sep 17 00:00:00 2001 From: dgflash Date: Sat, 30 Nov 2024 12:50:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=95=8C=E9=9D=A2=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=A8=A1=E5=BC=8F=E4=B8=8B=EF=BC=8C=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0ECS=E7=BB=84=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/module/common/ModuleUtil.ts | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/assets/module/common/ModuleUtil.ts b/assets/module/common/ModuleUtil.ts index 41519e6..8f42d72 100644 --- a/assets/module/common/ModuleUtil.ts +++ b/assets/module/common/ModuleUtil.ts @@ -1,11 +1,11 @@ -import {Node, __private} from "cc"; -import {oops} from "../../core/Oops"; -import {UICallbacks} from "../../core/gui/layer/Defines"; -import {ViewUtil} from "../../core/utils/ViewUtil"; -import {ecs} from "../../libs/ecs/ECS"; -import {CompType} from "../../libs/ecs/ECSModel"; -import {CCComp} from "./CCComp"; -import {CCVMParentComp} from "./CCVMParentComp"; +import { Node, __private } from "cc"; +import { oops } from "../../core/Oops"; +import { UICallbacks } from "../../core/gui/layer/Defines"; +import { ViewUtil } from "../../core/utils/ViewUtil"; +import { ecs } from "../../libs/ecs/ECS"; +import { CompType } from "../../libs/ecs/ECSModel"; +import { CCComp } from "./CCComp"; +import { CCVMParentComp } from "./CCVMParentComp"; export class ModuleUtil { /** @@ -23,7 +23,8 @@ export class ModuleUtil { const uic: UICallbacks = { onAdded: (node: Node, params: any) => { const comp = node.getComponent(ctor) as ecs.Comp; - ent.add(comp); + //@ts-ignore + if (!ent.has(ctor)) ent.add(comp); } }; oops.gui.open(uiId, uiArgs, uic); @@ -83,7 +84,7 @@ export class ModuleUtil { * @param isDestroy 是否释放界面缓存(默认为释放界面缓存) */ public static removeViewUi(ent: ecs.Entity, ctor: CompType, uiId: number, isDestroy: boolean = true) { - ent.remove(ctor, isDestroy); + if (isDestroy) ent.remove(ctor, isDestroy); oops.gui.remove(uiId, isDestroy); } } \ No newline at end of file