public ChoiceCollection(NodeEditorBase node, NodeDataChoiceBase data, DialogueWindow window)
        {
            _window         = window;
            _node           = node;
            _data           = data;
            _serializedData = new SerializedObject(data);
            _propChoices    = _serializedData.FindProperty("choices");

            RebuildChoices();
        }
        public NodeDataBase GetParentDataCopy(NodeDataChoiceBase copy)
        {
            foreach (var choice in copy.choices)
            {
                choice.Setup();

                if (FluidDialogueSettings.Current.HideNestedNodeData)
                {
                    choice.hideFlags = HideFlags.HideInHierarchy;
                }

                AssetDatabase.AddObjectToAsset(choice, _window.Graph);
                AssetDatabase.SaveAssets();
                Undo.RegisterCreatedObjectUndo(choice, "Duplicate choice");
            }

            return(copy);
        }