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

#pragma once

#include "Engine/InheritableComponentHandler.h"
#include "ISCW_FComponentKey.h"
#include "SCW_Base.h"

namespace Sourcify
{
	class SCW_FComponentKey : public SCW_Base, public ISCW_FComponentKey
	{
	public:
		SCW_FComponentKey(FComponentKey* InComponentKey);

		FComponentKey& ToFComponentKey();

		ISCW_FComponentKeyPtr ToFComponentKeyPtr() override;
		ISCW_FComponentKeyConstPtr ToFComponentKeyPtr() const override;

		bool IsValid() const override;

	protected:
		FComponentKey ComponentKey;
	};
} // namespace Sourcify