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

#pragma once

#include "ISCW_UUserDefinedStruct.h"
#include "SCW_UScriptStruct.h"

class UUserDefinedStruct;

namespace Sourcify
{
	class SCW_UUserDefinedStruct : public SCW_UScriptStruct, public virtual ISCW_UUserDefinedStruct
	{
	public:
		SCW_UUserDefinedStruct(UUserDefinedStruct* InUserDefinedStruct);

		UUserDefinedStruct* ToUUserDefinedStruct() const;

		ISCW_UUserDefinedStructPtr ToUUserDefinedStructPtr() override;
		ISCW_UUserDefinedStructConstPtr ToUUserDefinedStructPtr() const override;

		ISCW_UObjectPtr GetEditorData() const override;

	protected:
		UUserDefinedStruct* UserDefinedStruct;
	};
} // namespace Sourcify