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

#pragma once

#include "ISCW_ULevel.h"
#include "ISCW_ULevelScriptBlueprint.h"
#include "SCW_UObject.h"

class ULevel;

namespace Sourcify
{
	class SCW_ULevel : public SCW_UObject, public virtual ISCW_ULevel
	{
	public:
		SCW_ULevel(ULevel* InLevel);

		ULevel* ToULevel() const;

		ISCW_ULevelPtr ToULevelPtr() override;
		ISCW_ULevelConstPtr ToULevelPtr() const override;

		ISCW_ULevelScriptBlueprintPtr GetLevelScriptBlueprint() const override;

	protected:
		ULevel* Level;
	};
} // namespace Sourcify