共有3个班级。
控制器类正在运行一个模块,该模块将对象分配给名为_goCharacter的变量。
Center类是中央类,旨在处理Interaction类。
我们要在交互类中解决的_goCharacter对象是控制器中的对象。
问题在于_goCharacter对象最初为null,并且将来会继续更改。
所以我总是将它们分配给中心类,但这似乎对性能没有好处。
我发现,如果我使用ref和out来分配引用,则可以将其用作引用,而不必每次都重新分配它。
请告诉我该怎么做。
class Controller{
public GameObject _goCharacter = null;
void func(){ // Objects are assigned while other modules are running.
_goCharacter = .....
// Assign an object to the _goCharacter.
}
}
class Center{
private GameObject _goCharacter;
private Interaction interaction;
void Start(){
interaction = new Interaction();
}
void Update(){
_goCharacter = Controller.GetComponent<Controller>()._goCharacter;
interaction.setObject(_goCharacter); // Reallocate each time.
interaction.func2();
}
}
class Interaction{
private GameObject _goCharacter;
public Interaction(){
}
public Interaction(GameObject _goCharacter){
this._goCharacter = _goCharacter;
}
public void setObject(){
this._goCharacter = _goCharacter;
}
public func2(){
// Function dealing with _goCharacter
}
}