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

#pragma once

#include "ISCW_FBlackboardEntry.h"
#include "SCW_Base.h"

struct FBlackboardEntry;;

namespace Sourcify
{
	class SCW_FBlackboardEntry : public SCW_Base, public virtual ISCW_FBlackboardEntry
	{
	public:
		SCW_FBlackboardEntry(FBlackboardEntry* InBlackboardEntry);

		FBlackboardEntry* ToFBlackboardEntry() const;

		ISCW_FBlackboardEntryPtr ToFBlackboardEntryPtr() override;
		ISCW_FBlackboardEntryConstPtr ToFBlackboardEntryPtr() const override;

		ISCW_UBlackboardKeyTypePtr GetKeyType() const override;

	protected:
		FBlackboardEntry* BlackboardEntry;
	};
} // namespace Sourcify