/**
* Duplicate this node with new guid.
*/
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:
newData.m_bundleConfigBundleNameTemplate = new SerializableMultiTargetString(m_bundleConfigBundleNameTemplate);
newData.m_bundleConfigUseGroupAsVariants = m_bundleConfigUseGroupAsVariants;
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);
newData.m_exporterExportOption = new SerializableMultiTargetInt(m_exporterExportOption);
break;
default:
throw new AssetBundleGraphException("[FATAL]Unhandled nodekind. unimplmented:" + m_kind);
}
return(newData);
}