AssetBundleGraph.NodeData.Duplicate C# (CSharp) Method

Duplicate() public method

public Duplicate ( ) : NodeData
return NodeData
        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;
        }

Usage Example

Example #1
0
        public NodeGUI Duplicate(float newX, float newY)
        {
            var data = m_data.Duplicate();

            data.X = newX;
            data.Y = newY;
            return(new NodeGUI(data));
        }
All Usage Examples Of AssetBundleGraph.NodeData::Duplicate