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

#include "SCW_FSoftClassProperty.h"
#include "SourcifyCoreUEWrapperModule.h"
#include "UObject/UnrealType.h"

using namespace Sourcify;

SCW_FSoftClassProperty::SCW_FSoftClassProperty(FSoftClassProperty* InSoftClassProperty) : SCW_FSoftObjectProperty(InSoftClassProperty), SoftClassProperty(InSoftClassProperty)
{

}

ISCW_FSoftClassPropertyPtr SCW_FSoftClassProperty::ToFSoftClassPropertyPtr()
{
	return GetSharedThisAs<SCW_FSoftClassProperty>();
}

ISCW_FSoftClassPropertyConstPtr SCW_FSoftClassProperty::ToFSoftClassPropertyPtr() const
{
	return GetSharedThisAs<SCW_FSoftClassProperty>();
}

ISCW_UClassPtr SCW_FSoftClassProperty::GetMetaClass() const
{
	return FSourcifyCoreUEWrapper::Get().Wrap(*SoftClassProperty->MetaClass);
}

FSoftClassProperty* SCW_FSoftClassProperty::ToFSoftClassProperty() const
{
	return SoftClassProperty;
}
