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

#pragma once

#include "ISCW_FBPVariableDescription.h"
#include "SCW_Base.h"

struct FBPVariableDescription;

namespace Sourcify
{
	class SCW_FBPVariableDescription : public SCW_Base, public ISCW_FBPVariableDescription
	{
	public:
		SCW_FBPVariableDescription(FBPVariableDescription* InBPVariableDescription);

		FBPVariableDescription* ToFBPVariableDescription() const;

		wstring DefaultValue() const override;

		void SetDefaultValue(const wstring& InDefaultValue) override;

		SCW_FGuid GetVarGuid() const override;

		ISCW_FEdGraphPinTypePtr GetVarType() const override;

		wstring VarName() const override;

	protected:
		FBPVariableDescription* BPVariableDescription;
	};
} // namespace Sourcify