Существует три класса.
В классе контроллера выполняется модуль, который присваивает объект переменной с именем _goCharacter.
Класс Center является центральным, который предназначен для обработки взаимодействияclass.
Объект _goCharacter, к которому мы пытаемся обратиться в классе взаимодействия, является объектом в контроллере.
Проблема в том, что объект _goCharacter изначально нулевой и будет продолжать изменятьсяв будущем.
Так что я всегда назначаю их центральному классу, но это не очень хорошо для производительности.
Я обнаружил, что если я использую 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
}
}