From 5d5f82dfd05d4e7232a7e8cb4f8a1a275409c055 Mon Sep 17 00:00:00 2001 From: spongeB Date: Thu, 20 Jul 2023 10:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AA=E8=A6=81=E6=88=91=E4=B8=8D=E6=83=B3?= =?UTF-8?q?=E7=9F=A5=E9=81=93=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E6=98=AF?= =?UTF-8?q?=E5=95=A5=EF=BC=8C=E6=88=91=E5=B0=B1=E5=8F=AF=E4=BB=A5=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=90=8D=E5=AD=97=E9=9A=8F=E4=BE=BF=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/funny_remove.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 js/funny_remove.ts diff --git a/js/funny_remove.ts b/js/funny_remove.ts new file mode 100644 index 0000000..8acbafb --- /dev/null +++ b/js/funny_remove.ts @@ -0,0 +1,43 @@ +/* + 业务功能说明 + hover删除一个角色下面的样式,如果是删除的是当前选中的样式就选中下一个样式 +*/ + + +//明明一个方法解决的问题,硬生生拆了3个。。。 +export function removeStyleHandle(styleId: string) { + const {SpritePanelStore} = stores.ComponentsStore; + const isActor = !!BInstance.getActor(SpritePanelStore.selectSpriteId); + if(isActor) { + removeActorStyle(SpritePanelStore.selectSpriteId, styleId); + } else { + removeSceneStyle(SpritePanelStore.selectSpriteId, styleId); + } +} + +export function removeActorStyle(actorId: string, styleId: string) { + const actorStyleIds:string[] = BInstance.getActorStyleSortIdList(BInstance.getCurrentActorId()); + // 1、就感觉哪里怪怪的。。。。Array.find是坏了吗 + const findIndex = actorStyleIds.findIndex((element) => {return element === styleId}) + BInstance.removeEntityStyle([styleId]) + SInstance.removeActorStyle(actorId, styleId) + const hasNext = actorStyleIds[findIndex] + if(hasNext) { + selectActorStyle(actorStyleIds[findIndex]) + }else { + selectActorStyle(actorStyleIds[findIndex-1]) + } +} +// 2、actor和scene是业务上的区分,数据存储一毛一样,那这个函数好像跟上面的有啥区别,为啥要写两个? +export function removeSceneStyle(sceneId: string, styleId: string) { + const actorStyleIds:string[] = BInstance.getActorStyleSortIdList(BInstance.getCurrentSceneId()); + const findIndex = actorStyleIds.findIndex((element) => {return element === styleId}) + BInstance.removeEntityStyle([styleId]) + SInstance.removeActorStyle(sceneId, styleId) + const hasNext = actorStyleIds[findIndex] + if(hasNext) { + selectSceneStyle(actorStyleIds[findIndex]) + }else { + selectSceneStyle(actorStyleIds[findIndex-1]) + } +} \ No newline at end of file -- Gitee