void UBehaviorTreeGraphNode::PostEditImport()
{
    ResetNodeOwner();

    if (NodeInstance)
    {
        UBehaviorTree* BT = Cast<UBehaviorTree>(GetBehaviorTreeGraph()->GetOuter());
        if (BT)
        {
            UBTNode* BTNode = (UBTNode*)NodeInstance;
            BTNode->InitializeFromAsset(*BT);
            BTNode->InitializeNode(NULL, MAX_uint16, 0, 0);
        }
    }
}
void UBehaviorTreeDecoratorGraphNode_Decorator::PostEditImport()
{
	ResetNodeOwner();

	if (NodeInstance)
	{
		UBehaviorTreeGraphNode_CompositeDecorator* OwningNode = Cast<UBehaviorTreeGraphNode_CompositeDecorator>(GetDecoratorGraph()->GetOuter());
		if (OwningNode)
		{
			UBehaviorTree* BT = Cast<UBehaviorTree>(OwningNode->GetOuter()->GetOuter());
			if (BT)
			{
				UBTDecorator* MyDecorator = (UBTDecorator*)NodeInstance;
				MyDecorator->InitializeFromAsset(*BT);
				MyDecorator->InitializeNode(NULL, MAX_uint16, 0, 0);

				OwningNode->InitializeDecorator(MyDecorator);
			}
		}
	}
}
void UBehaviorTreeDecoratorGraphNode_Decorator::PostCopyNode()
{
	ResetNodeOwner();
}
void UBehaviorTreeGraphNode::PostCopyNode()
{
    ResetNodeOwner();
}
void UBehaviorTreeGraphNode::PostEditUndo()
{
    ResetNodeOwner();
}