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

#pragma once

#include "ISCW_UBlackboardData.h"
#include "SCW_UDataAsset.h"

class UBlackboardData;

namespace Sourcify
{
	class SCW_UBlackboardData : public SCW_UDataAsset, public virtual ISCW_UBlackboardData
	{
	public:
		SCW_UBlackboardData(UBlackboardData* InBlackboardData);

		UBlackboardData* ToUBlackboardData() const;

		ISCW_UBlackboardDataPtr ToUBlackboardDataPtr() override;
		ISCW_UBlackboardDataConstPtr ToUBlackboardDataPtr() const override;

		vector<ISCW_FBlackboardEntryPtr> GetKeys() const override;

	protected:
		UBlackboardData* BlackboardData;
	};
} // namespace Sourcify