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

#include "SCW_UK2Node_SwitchEnum.h"
#include "K2Node_SwitchEnum.h"
#include "SCW_UEnum.h"
#include "SourcifyCoreUEWrapperModule.h"

using namespace Sourcify;

SCW_UK2Node_SwitchEnum::SCW_UK2Node_SwitchEnum(UK2Node_SwitchEnum* InK2Node_SwitchEnum) : SCW_UK2Node_Switch(InK2Node_SwitchEnum), K2Node_SwitchEnum(InK2Node_SwitchEnum)
{

}

ISCW_UEnumPtr SCW_UK2Node_SwitchEnum::GetEnum() const
{
	return FSourcifyCoreUEWrapper::Get().Wrap(*K2Node_SwitchEnum->GetEnum());
}

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

UK2Node_SwitchEnum* SCW_UK2Node_SwitchEnum::ToUK2Node_SwitchEnum() const
{
	return K2Node_SwitchEnum;
}

ISCW_UK2Node_SwitchEnumPtr SCW_UK2Node_SwitchEnum::ToUK2Node_SwitchEnumPtr()
{
	return GetSharedThisAs<SCW_UK2Node_SwitchEnum>();
}

ISCW_UK2Node_SwitchEnumConstPtr SCW_UK2Node_SwitchEnum::ToUK2Node_SwitchEnumPtr() const
{
	return GetSharedThisAs<SCW_UK2Node_SwitchEnum>();
}