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

#include "SCW_ULevelSequence.h"
#include "LevelSequence.h"
#include "SourcifyCoreUEWrapperModule.h"

using namespace Sourcify;

SCW_ULevelSequence::SCW_ULevelSequence(ULevelSequence* InLevelSequence) : SCW_UMovieSceneSequence(InLevelSequence), LevelSequence(InLevelSequence)
{

}

ISCW_UBlueprintPtr SCW_ULevelSequence::GetDirectorBlueprint() const
{
	return LevelSequence->GetDirectorBlueprint() ? FSourcifyCoreUEWrapper::Get().Wrap(*LevelSequence->GetDirectorBlueprint()) : nullptr;
}

ULevelSequence* SCW_ULevelSequence::ToULevelSequence() const
{
	return LevelSequence;
}

ISCW_ULevelSequencePtr SCW_ULevelSequence::ToULevelSequencePtr()
{
	return GetSharedThisAs<SCW_ULevelSequence>();
}

ISCW_ULevelSequenceConstPtr SCW_ULevelSequence::ToULevelSequencePtr() const
{
	return GetSharedThisAs<SCW_ULevelSequence>();
}