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

#include "SCW_UK2Node_CastByteToEnum.h"
#include "K2Node_CastByteToEnum.h"
#include "SCW_UEnum.h"
#include "SourcifyCoreUEWrapperModule.h"

using namespace Sourcify;

SCW_UK2Node_CastByteToEnum::SCW_UK2Node_CastByteToEnum(UK2Node_CastByteToEnum* InK2Node_CastByteToEnum) : SCW_UK2Node(InK2Node_CastByteToEnum), K2Node_CastByteToEnum(InK2Node_CastByteToEnum)
{

}

ISCW_UEnumPtr SCW_UK2Node_CastByteToEnum::GetEnum() const
{
	return FSourcifyCoreUEWrapper::Get().Wrap(*K2Node_CastByteToEnum->Enum);
}

void SCW_UK2Node_CastByteToEnum::ReloadEnum(ISCW_UEnumPtr InEnum)
{
	K2Node_CastByteToEnum->Enum = dynamic_cast<SCW_UEnum*>(InEnum.get())->ToUEnum();
}

UK2Node_CastByteToEnum* SCW_UK2Node_CastByteToEnum::ToUK2Node_CastByteToEnum() const
{
	return K2Node_CastByteToEnum;
}

ISCW_UK2Node_CastByteToEnumPtr SCW_UK2Node_CastByteToEnum::ToUK2Node_CastByteToEnumPtr()
{
	return GetSharedThisAs<SCW_UK2Node_CastByteToEnum>();
}

ISCW_UK2Node_CastByteToEnumConstPtr SCW_UK2Node_CastByteToEnum::ToUK2Node_CastByteToEnumPtr() const
{
	return GetSharedThisAs<SCW_UK2Node_CastByteToEnum>();
}