public NodeData Duplicate()
{
var newData = new NodeData(m_name, m_kind, m_x, m_y);
switch(m_kind) {
case NodeKind.IMPORTSETTING_GUI:
break;
case NodeKind.PREFABBUILDER_GUI:
case NodeKind.MODIFIER_GUI:
newData.m_scriptClassName = m_scriptClassName;
newData.m_scriptInstanceData = new SerializableMultiTargetString(m_scriptInstanceData);
break;
case NodeKind.FILTER_GUI:
foreach(var f in m_filter) {
newData.AddFilterCondition(f.FilterKeyword, f.FilterKeytype);
}
break;
case NodeKind.LOADER_GUI:
newData.m_loaderLoadPath = new SerializableMultiTargetString(m_loaderLoadPath);
break;
case NodeKind.GROUPING_GUI:
newData.m_groupingKeyword = new SerializableMultiTargetString(m_groupingKeyword);
break;
case NodeKind.BUNDLECONFIG_GUI:
foreach(var v in m_variants) {
newData.AddVariant(v.Name);
}
break;
case NodeKind.BUNDLEBUILDER_GUI:
newData.m_bundleBuilderEnabledBundleOptions = new SerializableMultiTargetInt(m_bundleBuilderEnabledBundleOptions);
break;
case NodeKind.EXPORTER_GUI:
newData.m_exporterExportPath = new SerializableMultiTargetString(m_exporterExportPath);
break;
default:
throw new AssetBundleGraphException("[FATAL]Unhandled nodekind. unimplmented:"+ m_kind);
}
return newData;
}