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

#pragma once

#include "ISCW_FSoftClassProperty.h"
#include "SCW_FSoftObjectProperty.h"

class FSoftClassProperty;

namespace Sourcify
{
	class SCW_FSoftClassProperty : public SCW_FSoftObjectProperty, public virtual ISCW_FSoftClassProperty
	{
	public:
		SCW_FSoftClassProperty(FSoftClassProperty* InSoftClassProperty);

		ISCW_FSoftClassPropertyPtr ToFSoftClassPropertyPtr() override;
		ISCW_FSoftClassPropertyConstPtr ToFSoftClassPropertyPtr() const override;

		ISCW_UClassPtr GetMetaClass() const override;

		FSoftClassProperty* ToFSoftClassProperty() const;

	protected:
		FSoftClassProperty* SoftClassProperty;
	};
} // namespace Sourcify