41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreTypes.h"
|
|
#include "Engine/EngineCustomTimeStep.h"
|
|
#include "Misc/AssertionMacros.h"
|
|
#include "Misc/FrameRate.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "FixedFrameRateCustomTimeStep.generated.h"
|
|
|
|
class UObject;
|
|
|
|
|
|
|
|
/**
|
|
* Class to control the Engine TimeStep via a FixedFrameRate
|
|
*/
|
|
UCLASS(Abstract, MinimalAPI)
|
|
class UFixedFrameRateCustomTimeStep : public UEngineCustomTimeStep
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
public:
|
|
//~ Begin UEngineCustomTimeStep interface
|
|
TIMEMANAGEMENT_API virtual FString GetDisplayName() const override;
|
|
//~ End UEngineCustomTimeStep
|
|
|
|
/** Get The fixed FrameRate */
|
|
TIMEMANAGEMENT_API virtual FFrameRate GetFixedFrameRate() const PURE_VIRTUAL(UFixedFrameRateCustomTimeStep::GetFixedFrameRate, return GetFixedFrameRate_PureVirtual(););
|
|
|
|
protected:
|
|
/** Default behavior of the engine. Used FixedFrameRate */
|
|
TIMEMANAGEMENT_API void WaitForFixedFrameRate() const;
|
|
|
|
private:
|
|
FFrameRate GetFixedFrameRate_PureVirtual() const;
|
|
};
|