import { Director, director, find } from 'cc'; import { Editor } from './Define'; if (Editor) { if (!sessionStorage.getItem('gizmosUpdating')) { sessionStorage.setItem('gizmosUpdating', 'true'); director.on(Director.EVENT_BEFORE_UPDATE, querySelected); } function querySelected() { if (Editor) { const selectedList: string[] = Editor.Selection.getSelected('node'); selectedList.forEach(callGizmos); } } async function callGizmos(uuid: string) { const node = await Editor.Message.request('scene', 'query-node-tree', uuid); const comps = find(node.path).components; comps.forEach((comp) => comp.onDrawGizmosSelected?.()); } }