复制组件
//编辑器模式下
UnityEditorInternal.ComponentUtility.CopyComponent(component);
UnityEditorInternal.ComponentUtility.PasteComponentAsNew(component);
//运行模式下,利用反射
System.Type type = component.GetType();
Component copy = objEnd.AddComponent(type);
System.Reflection.FieldInfo[] fields = type.GetFields();
foreach (System.Reflection.FieldInfo field in fields)
{
field.SetValue(copy, field.GetValue(anim));
}
移除组件
Unity中只有AddComponent,没有RemoveComponent。 移除组件如果是运行中用Destroy
,如果是编辑器脚本用DestroyImmediate
。 DestroyImmediate(component, true);
//第一个参数是组件类型,后面的bool参数是是否允许销毁资源文件。
删除项目中的资源:File.Delete(path);
//注意Path是相对路径,Assets/xxx