Add get object by label function into model

This commit is contained in:
MrKBear 2022-03-15 13:09:50 +08:00
parent d07a20d8fe
commit 66102a9936

View File

@ -90,6 +90,31 @@ class Model extends Emitter<ModelEvent> {
} }
} }
/**
*
* @param label
* @param type
*/
public getObjectByLabel(
label: Label, type?:
(new (...p: any) => Range) |
(new (...p: any) => Group)
): CtrlObject[] {
const res: CtrlObject[] = [];
for (let i = 0; i < this.objectPool.length; i++) {
if (this.objectPool[i].hasLabel(label)) {
if (type) {
if (this.objectPool[i] instanceof type) {
res.push(this.objectPool[i]);
}
} else {
res.push(this.objectPool[i]);
}
}
}
return res;
}
/** /**
* *
*/ */