mirror of
https://github.com/galacean/engine.git
synced 2026-05-18 11:09:39 +08:00
Fix error when physicsMaterial used in prefab (#2519)
* fix: error when physicsMaterial used in prefab
This commit is contained in:
@@ -33,16 +33,23 @@ export class PrefabResource extends ReferResource {
|
||||
*/
|
||||
_addDependenceAsset(resource: ReferResource) {
|
||||
this._dependenceAssets.add(resource);
|
||||
// @ts-ignore
|
||||
resource._associationSuperResource(this);
|
||||
// @todo: The PhysicsMaterial does not inherit from ReferResource. Currently,
|
||||
// ReferResource requires the engine to be passed as a parameter, which prevents cross-engine reuse.
|
||||
// A refactor of ReferResource will be needed in the future.
|
||||
if (resource instanceof ReferResource) {
|
||||
// @ts-ignore
|
||||
resource._associationSuperResource(this);
|
||||
}
|
||||
}
|
||||
|
||||
protected override _onDestroy(): void {
|
||||
super._onDestroy();
|
||||
this._root.destroy();
|
||||
this._dependenceAssets.forEach((asset) => {
|
||||
// @ts-ignore
|
||||
asset._disassociationSuperResource(this);
|
||||
if (asset instanceof ReferResource) {
|
||||
// @ts-ignore
|
||||
asset._disassociationSuperResource(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user