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

#pragma once

#include "ISCW_FInterfaceProperty.h"
#include "SCW_FProperty.h"

class FInterfaceProperty;

namespace Sourcify
{
	class SCW_FInterfaceProperty : public SCW_FProperty, public virtual ISCW_FInterfaceProperty
	{
	public:
		SCW_FInterfaceProperty(FInterfaceProperty* InInterfaceProperty);

		FInterfaceProperty* ToFInterfaceProperty() const;

		ISCW_FInterfacePropertyPtr ToFInterfacePropertyPtr() override;
		ISCW_FInterfacePropertyConstPtr ToFInterfacePropertyPtr() const override;

		ISCW_UClassPtr GetInterfaceClass() const override;

	protected:
		FInterfaceProperty* InterfaceProperty;
	};
} // namespace Sourcify