51 lines
1.1 KiB
C++
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);
|
|
}
|
|
}; |