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

#pragma once

#include "ISCW_UBlackboardKeyType_Enum.h"
#include "SCW_UBlackboardKeyType.h"

class UBlackboardKeyType_Enum;;

namespace Sourcify
{
	class SCW_UBlackboardKeyType_Enum : public SCW_UBlackboardKeyType, public virtual ISCW_UBlackboardKeyType_Enum
	{
	public:
		SCW_UBlackboardKeyType_Enum(UBlackboardKeyType_Enum* InBlackboardKeyType_Enum);

		UBlackboardKeyType_Enum* ToUBlackboardKeyType_Enum() const;

		ISCW_UBlackboardKeyType_EnumPtr ToUBlackboardKeyType_EnumPtr() override;
		ISCW_UBlackboardKeyType_EnumConstPtr ToUBlackboardKeyType_EnumPtr() const override;

		wstring GetEnumName() const override;

		void SetEnumName(const wstring& EnumName) override;

		ISCW_UEnumPtr GetEnumType() const override;

		void SetEnumType(ISCW_UEnumPtr EnumType) override;

	protected:
		UBlackboardKeyType_Enum* BlackboardKeyType_Enum;
	};
} // namespace Sourcify