resolveReferences
是Yuka js库的一种方法,用于解决当前实例的引用关系。
resolveReferences
方法将递归查找当前实例的 Cell
属性,并将每个 Cell 中的引用实例解析为其相应实例对象。
resolveReferences()
该方法无需传递任何参数。
import { Cell } from 'yuka';
import { Vector3, Object3D } from 'three';
class MyEntity extends Object3D {
constructor() {
super();
// 定义实例的 Cell 属性
this.positionCell = new Cell( new Vector3() );
this.targetCell = new Cell( null );
}
}
const entityA = new MyEntity();
const entityB = new MyEntity();
// 设置实例的引用关系
entityA.targetCell.value = entityB.positionCell;
// 解决实例引用关系
entityA.resolveReferences();
console.log( entityA.targetCell.value ); // Vector3 { x: 0, y: 0, z: 0 }
console.log( entityA.targetCell.value ); // Vector3 { x: 0, y: 0, z: 0 }
resolveReferences
方法必须在设置引用关系操作完成后立即调用,以确保当前实例的每个 Cell
属性都被正确解析。resolveReferences
方法仅适用于 Cell
属性。如果实例中没有 Cell
属性,则此方法不执行任何操作。