23 lines
731 B
TypeScript
23 lines
731 B
TypeScript
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?.());
|
|
}
|
|
}
|