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

#pragma once

#include "ISCW_FArrayProperty.h"
#include "SCW_FProperty.h"

class FArrayProperty;

namespace Sourcify
{
	class SCW_FArrayProperty : public SCW_FProperty, public virtual ISCW_FArrayProperty
	{
	public:
		SCW_FArrayProperty(FArrayProperty* InArrayProperty);

		wstring GetCPPTypeCustom(wstring* ExtendedTypeText, SCW_EPropertyExportCPPFlags CPPExportFlags, const wstring& InnerTypeText, const wstring& InInnerExtendedTypeText) const override;

		ISCW_FPropertyPtr GetInner() const override;

		FArrayProperty* ToFArrayProperty() const;

	protected:
		FArrayProperty* ArrayProperty;
	};
} // namespace Sourcify