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

#include "SCW_UK2Node_Select.h"
#include "K2Node_Select.h"
#include "SCW_UEnum.h"
#include "SourcifyCoreUEWrapperModule.h"

using namespace Sourcify;

SCW_UK2Node_Select::SCW_UK2Node_Select(UK2Node_Select* InK2Node_Select) : SCW_UK2Node(InK2Node_Select), K2Node_Select(InK2Node_Select)
{

}

ISCW_UEnumPtr SCW_UK2Node_Select::GetEnum() const
{
	return K2Node_Select->GetEnum() ? FSourcifyCoreUEWrapper::Get().Wrap(*K2Node_Select->GetEnum()) : nullptr;
}

void SCW_UK2Node_Select::ReloadEnum(ISCW_UEnumPtr InEnum)
{
	K2Node_Select->ReloadEnum(dynamic_cast<SCW_UEnum*>(InEnum.get())->ToUEnum());
}

UK2Node_Select* SCW_UK2Node_Select::ToUK2Node_Select() const
{
	return K2Node_Select;
}

ISCW_UK2Node_SelectPtr SCW_UK2Node_Select::ToUK2Node_SelectPtr()
{
	return GetSharedThisAs<SCW_UK2Node_Select>();
}

ISCW_UK2Node_SelectConstPtr SCW_UK2Node_Select::ToUK2Node_SelectPtr() const
{
	return GetSharedThisAs<SCW_UK2Node_Select>();
}