Open
Description
可以看到引擎中很多地方其实为了处理这套逻辑在 cloneTo 里加了很多兜底代码。
比如:
// Renderer._cloneTo
_cloneTo(target: Renderer, srcRoot: Entity, targetRoot: Entity): void {
const materials = this._materials;
for (let i = 0, n = materials.length; i < n; i++) {
target._setMaterial(i, materials[i]);
}
}
// MeshRenderer._cloneTo
override _cloneTo(target: MeshRenderer, srcRoot: Entity, targetRoot: Entity): void {
super._cloneTo(target, srcRoot, targetRoot);
target.mesh = this._mesh;
}
// 其他如 SpriteRenderer,TextRenderer 中的逻辑就不枚举了
在执行的时候,反而执行了更多的逻辑。