Files
UnrealEngine/Engine/Source/Runtime/MovieScene/Public/IMovieSceneTrackVirtualAPI.h
2025-05-18 13:04:45 +08:00

51 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h"
#include "Misc/AssertionMacros.h"
class UMovieSceneTrack;
class UMovieSceneSection;
class IMovieSceneTrackVirtualAPI
{
protected:
/**
* Add a section to this track.
*
* @param Section The section to add.
*/
virtual void AddSection(UMovieSceneSection& Section) PURE_VIRTUAL(IMovieSceneTrackVirtualAPI::AddSection,);
/**
* Removes a section from this track.
*
* @param Section The section to remove.
*/
virtual void RemoveSection(UMovieSceneSection& Section) PURE_VIRTUAL(IMovieSceneTrackVirtualAPI::RemoveSection, );
/**
* Removes a section from this track at a particular index
*
* @param SectionIndex The section index to remove.
*/
virtual void RemoveSectionAt(int32 SectionIndex) PURE_VIRTUAL(IMovieSceneTrackVirtualAPI::RemoveSectionAt, );
private:
friend UMovieSceneTrack;
void CallAddSection(UMovieSceneSection& Section)
{
AddSection(Section);
}
void CallRemoveSection(UMovieSceneSection& Section)
{
RemoveSection(Section);
}
void CallRemoveSectionAt(int32 SectionIndex)
{
RemoveSectionAt(SectionIndex);
}
};