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

#pragma once

#include "ISCW_UK2Node_MacroInstance.h"
#include "SCW_UK2Node_Tunnel.h"

class UK2Node_MacroInstance;

namespace Sourcify
{
	class SCW_UK2Node_MacroInstance : public SCW_UK2Node_Tunnel, public virtual ISCW_UK2Node_MacroInstance
	{
	public:
		SCW_UK2Node_MacroInstance(UK2Node_MacroInstance* InK2Node_MacroInstance);

		UK2Node_MacroInstance* ToUK2Node_MacroInstance() const;

		ISCW_UK2Node_MacroInstancePtr ToUK2Node_MacroInstancePtr() override;
		ISCW_UK2Node_MacroInstanceConstPtr ToUK2Node_MacroInstancePtr() const override;

	protected:
		UK2Node_MacroInstance* K2Node_MacroInstance;
	};
} // namespace Sourcify