Как назначить экземпляр класса в качестве отдельной копии (не ссылки)? - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть массив Employee's с именем m_AllEmployees. Employee наследуется от класса ScriptableObject Unity, что позволяет мне создавать актив в Unity. Однако, когда я устанавливаю значение поля в employee, оно меняет значение элемента в массиве и, следовательно, актив в Unity. Мне нужно скопировать его, чтобы они были отдельными и независимыми Employees.

Employee employee = m_AllEmployees[index];

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Используйте для этого UnityEngine.Object.Instantiate метод.Он создаст новый объект из объекта, который вы ему передали, и повторно сериализует все поля.

0 голосов
/ 19 ноября 2018

Реализуйте метод clone / deepCopy в классе Employee и создайте новый экземпляр, вызвав его.

Employee employee = m_AllEmployees[index].clone();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...