From 0df421e20c2432794f25701ec819fc0f6f15da0f Mon Sep 17 00:00:00 2001 From: billsonnn Date: Sat, 30 Mar 2024 21:28:49 -0400 Subject: [PATCH] Update wired filter --- src/api/wired/WiredSelectionVisualizer.ts | 28 +++++++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/api/wired/WiredSelectionVisualizer.ts b/src/api/wired/WiredSelectionVisualizer.ts index c829e323..18edbf7c 100644 --- a/src/api/wired/WiredSelectionVisualizer.ts +++ b/src/api/wired/WiredSelectionVisualizer.ts @@ -1,9 +1,11 @@ -import { GetRoomEngine, IRoomObject, IRoomObjectSpriteVisualization, NitroFilter, RoomObjectCategory } from '@nitrots/nitro-renderer'; +import { GetRoomEngine, IRoomObject, IRoomObjectSpriteVisualization, RoomObjectCategory, WiredFilter } from '@nitrots/nitro-renderer'; export class WiredSelectionVisualizer { - // private static _selectionShader: NitroFilter = new WiredSelectionFilter([ 1, 1, 1 ], [ 0.6, 0.6, 0.6 ]); - private static _selectionShader: NitroFilter = null; + private static _selectionShader: WiredFilter = new WiredFilter({ + lineColor: [ 1, 1, 1 ], + color: [ 0.6, 0.6, 0.6 ] + }); public static show(furniId: number): void { @@ -50,7 +52,11 @@ export class WiredSelectionVisualizer { if(sprite.blendMode === 'add') continue; - sprite.filters = [ WiredSelectionVisualizer._selectionShader ]; + if(!sprite.filters) sprite.filters = []; + + sprite.filters.push(WiredSelectionVisualizer._selectionShader); + + sprite.increaseUpdateCounter(); } } @@ -62,6 +68,18 @@ export class WiredSelectionVisualizer if(!visualization) return; - for(const sprite of visualization.sprites) sprite.filters = []; + for(const sprite of visualization.sprites) + { + if(!sprite.filters) continue; + + const index = sprite.filters.indexOf(WiredSelectionVisualizer._selectionShader); + + if(index >= 0) + { + sprite.filters.splice(index, 1); + + sprite.increaseUpdateCounter(); + } + } } }