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

#pragma once

#include "ISCW_UK2Node_EditablePinBase.h"
#include "SCW_UK2Node.h"

class UK2Node_EditablePinBase;

namespace Sourcify
{
	class SCW_UK2Node_EditablePinBase : public SCW_UK2Node, public virtual ISCW_UK2Node_EditablePinBase
	{
	public:
		SCW_UK2Node_EditablePinBase(UK2Node_EditablePinBase* InK2Node_EditablePinBase);

		void ClearUserDefinedPins() const override;
		
		bool GetIsEditable() const override;

		vector<ISCW_FUserPinInfoPtr> GetUserDefinedPins() const override;
			
		void SetIsEditable(bool InIsEditable) override;

		UK2Node_EditablePinBase* ToUK2Node_EditablePinBase() const;

	protected:
		UK2Node_EditablePinBase* K2Node_EditablePinBase;
	};
} // namespace Sourcify