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

#pragma once

#include "ISCW_UK2Node_StructOperation.h"
#include "ISCW_UScriptStruct.h"
#include "SCW_UK2Node_Variable.h"

class UK2Node_StructOperation;

namespace Sourcify
{
	class SCW_UK2Node_StructOperation : public SCW_UK2Node_Variable, public virtual ISCW_UK2Node_StructOperation
	{
	public:
		SCW_UK2Node_StructOperation(UK2Node_StructOperation* InK2Node_StructOperation);

		ISCW_UScriptStructPtr GetStructType() const override;

		void SetStructType(ISCW_UScriptStructPtr InStructType) override;

		UK2Node_StructOperation* ToUK2Node_StructOperation() const;

		ISCW_UK2Node_StructOperationPtr ToUK2Node_StructOperationPtr() override;
		ISCW_UK2Node_StructOperationConstPtr ToUK2Node_StructOperationPtr() const override;

	protected:
		UK2Node_StructOperation* K2Node_StructOperation;
	};
} // namespace Sourcify