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

#pragma once

#include "ISCW_UObjectRedirector.h"
#include "SCW_UObject.h"

class UObjectRedirector;;

namespace Sourcify
{
	class SCW_UObjectRedirector : public SCW_UObject, public virtual ISCW_UObjectRedirector
	{
	public:
		SCW_UObjectRedirector(UObjectRedirector* InObjectRedirector);

		UObjectRedirector* ToUObjectRedirector() const;

		ISCW_UObjectRedirectorPtr ToUObjectRedirectorPtr() override;
		ISCW_UObjectRedirectorConstPtr ToUObjectRedirectorPtr() const override;

	protected:
		UObjectRedirector* ObjectRedirector;
	};
} // namespace Sourcify