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

#pragma once

#include "ISCW_UEnum.h"
#include "ISCW_UK2Node_SwitchEnum.h"
#include "SCW_UK2Node_Switch.h"

class UK2Node_SwitchEnum;

namespace Sourcify
{
	class SCW_UK2Node_SwitchEnum : public SCW_UK2Node_Switch, public virtual ISCW_UK2Node_SwitchEnum
	{
	public:
		SCW_UK2Node_SwitchEnum(UK2Node_SwitchEnum* InK2Node_SwitchEnum);

		ISCW_UEnumPtr GetEnum() const override;

		void ReloadEnum(ISCW_UEnumPtr InEnum) override;

		UK2Node_SwitchEnum* ToUK2Node_SwitchEnum() const;

		ISCW_UK2Node_SwitchEnumPtr ToUK2Node_SwitchEnumPtr() override;
		ISCW_UK2Node_SwitchEnumConstPtr ToUK2Node_SwitchEnumPtr() const override;

	protected:
		UK2Node_SwitchEnum* K2Node_SwitchEnum;
	};
} // namespace Sourcify