如何将一个类的实例分配为单独的副本(非引用)?

时间:2018-11-19 03:27:55

标签: c# unity3d

我有一个名为Employee's的{​​{1}}数组。 m_AllEmployees继承自Unity的Employee类,使我可以在Unity中创建资产。但是,当我在ScriptableObject中设置字段的值时,它将更改数组中项目的值,从而更改Unity中的资产。我需要将其复制,以便它们是独立的employee

Employees

2 个答案:

答案 0 :(得分:1)

为此使用UnityEngine.Object.Instantiate方法。它将根据您传递给它的对象创建一个新对象,并重新序列化所有字段。

答案 1 :(得分:0)

在Employee类中实现clone / deepCopy方法,并通过调用它来创建一个新实例。

Employee employee = m_AllEmployees[index].clone();