Files
UnrealEngineUWP/Engine/Source/Runtime/TimeManagement/Public/ITimeManagementModule.h
Jurre deBaare 6f3438b57a UAnimSequence:
- Deprecated NumFrames instead added NumberOfKeys (data is copied over during serialization patch up)
- Deprecated GetNumberOfFrames and GetRawNumberOfFrames instead added GetNumberOfSampledKeys
- Deprecated SetRawNumberOfFrames and instead added SetNumberOfSampledKeys
- Added SamplingFrameRate (FFrameRate), which is populated according to the sequence's actual number of frames and length
- Changed some behaviour to use FFrameRate API to calculate frame number / timings
- Deprecated GetFrameRate and instead added GetSamplingFrameRate
- Fixed uses where NumFrames was assumed to contain the number of frames rather than the number of keys (ResizeSequence, AddLoopingInterpolation, CropAnimation, InsertKeysIntoRawData)

UAnimStreamable:
- Deprecated NumFrames instead added NumberOfKeys (data is copied over during serialization patch up)

ITimeManagementModule:
- Exposed GetCommonFrameRates through the abstract interface to get around circular Engine module dependency

#jira UE-102191
#rb Martin.Wilson

[CL 14608938 by Jurre deBaare in ue5-main branch]
2020-10-29 09:47:22 -04:00

42 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
#define TIMEMANAGEMENT_MODULE_NAME TEXT("TimeManagement")
class FTimedDataInputCollection;
class TIMEMANAGEMENT_API ITimeManagementModule : public IModuleInterface
{
public:
/**
* Singleton-like access to ITimeManagementModule
* @return Returns ITimeManagementModule singleton instance, loading the module on demand if needed
*/
static inline ITimeManagementModule& Get()
{
return FModuleManager::LoadModuleChecked<ITimeManagementModule>(TIMEMANAGEMENT_MODULE_NAME);
}
/**
* Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true.
* @return True if the module is loaded and ready to use
*/
static inline bool IsAvailable()
{
return FModuleManager::Get().IsModuleLoaded(TIMEMANAGEMENT_MODULE_NAME);
}
/** Get the collection of the ITimedDataInput and ITimedDataInputGroups. */
virtual FTimedDataInputCollection& GetTimedDataInputCollection() = 0;
/** Returns all stored common frame rates */
virtual TArrayView<const struct FCommonFrameRateInfo> GetAllCommonFrameRates() = 0;
};