// Copyright (c) 2024 Codemongous LLC. All Rights Reserved.

#include "SCW_UK2Node_StructOperation.h"
#include "K2Node_StructOperation.h"
#include "SCW_UScriptStruct.h"
#include "SourcifyCoreUEWrapperModule.h"

using namespace Sourcify;

SCW_UK2Node_StructOperation::SCW_UK2Node_StructOperation(UK2Node_StructOperation* InK2Node_StructOperation) : SCW_UK2Node_Variable(InK2Node_StructOperation), K2Node_StructOperation(InK2Node_StructOperation)
{

}

ISCW_UScriptStructPtr SCW_UK2Node_StructOperation::GetStructType() const
{
	return FSourcifyCoreUEWrapper::Get().Wrap(*K2Node_StructOperation->StructType);
}

void SCW_UK2Node_StructOperation::SetStructType(ISCW_UScriptStructPtr InStructType)
{
	K2Node_StructOperation->StructType = dynamic_cast<SCW_UScriptStruct*>(InStructType.get())->ToUScriptStruct();
}

UK2Node_StructOperation* SCW_UK2Node_StructOperation::ToUK2Node_StructOperation() const
{
	return K2Node_StructOperation;
}

ISCW_UK2Node_StructOperationPtr SCW_UK2Node_StructOperation::ToUK2Node_StructOperationPtr()
{
	return GetSharedThisAs<SCW_UK2Node_StructOperation>();
}

ISCW_UK2Node_StructOperationConstPtr SCW_UK2Node_StructOperation::ToUK2Node_StructOperationPtr() const
{
	return GetSharedThisAs<SCW_UK2Node_StructOperation>();
}