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

#pragma once

#include "ISCW_UK2Node_StructMemberSet.h"
#include "SCW_UK2Node_StructOperation.h"

class UK2Node_StructMemberSet;

namespace Sourcify
{
	class SCW_UK2Node_StructMemberSet : public SCW_UK2Node_StructOperation, public virtual ISCW_UK2Node_StructMemberSet
	{
	public:
		SCW_UK2Node_StructMemberSet(UK2Node_StructMemberSet* InK2Node_StructMemberSet);

		vector<shared_ptr<ISCW_FOptionalPinFromProperty>> GetShowPinForProperties() override;

		void SetShowPinForProperties(const vector<shared_ptr<ISCW_FOptionalPinFromProperty>>& InShowPinForProperties) override;

		UK2Node_StructMemberSet* ToUK2Node_StructMemberSet() const;

		ISCW_UK2Node_StructMemberSetPtr ToUK2Node_StructMemberSetPtr() override;
		ISCW_UK2Node_StructMemberSetConstPtr ToUK2Node_StructMemberSetPtr() const override;

	protected:
		UK2Node_StructMemberSet* K2Node_StructMemberSet;
	};
} // namespace Sourcify