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

#pragma once

#include "ISCW_UEnum.h"
#include "ISCW_UK2Node_CastByteToEnum.h"
#include "SCW_UK2Node.h"

class UK2Node_CastByteToEnum;

namespace Sourcify
{
	class SCW_UK2Node_CastByteToEnum : public SCW_UK2Node, public virtual ISCW_UK2Node_CastByteToEnum
	{
	public:
		SCW_UK2Node_CastByteToEnum(UK2Node_CastByteToEnum* InK2Node_CastByteToEnum);

		ISCW_UEnumPtr GetEnum() const override;

		void ReloadEnum(ISCW_UEnumPtr InEnum) override;

		UK2Node_CastByteToEnum* ToUK2Node_CastByteToEnum() const;

		ISCW_UK2Node_CastByteToEnumPtr ToUK2Node_CastByteToEnumPtr() override;
		ISCW_UK2Node_CastByteToEnumConstPtr ToUK2Node_CastByteToEnumPtr() const override;

	protected:
		UK2Node_CastByteToEnum* K2Node_CastByteToEnum;
	};
} // namespace Sourcify