Plasma Engine  2.0
Loading...
Searching...
No Matches
ScriptCoroutine_TweenProperty.h
1#pragma once
2
3#include <Core/Scripting/ScriptCoroutine.h>
4#include <Core/World/Declarations.h>
5#include <Foundation/Math/CurveFunctions.h>
6
7class PL_CORE_DLL plScriptCoroutine_TweenProperty : public plTypedScriptCoroutine<plScriptCoroutine_TweenProperty, plComponentHandle, plStringView, plVariant, plTime, plEnum<plCurveFunction>>
8{
9public:
10 void Start(plComponentHandle hComponent, plStringView sPropertyName, plVariant targetValue, plTime duration, plEnum<plCurveFunction> easing);
11 virtual Result Update(plTime deltaTimeSinceLastUpdate) override;
12
13private:
14 const plAbstractMemberProperty* m_pProperty = nullptr;
15 plComponentHandle m_hComponent;
16 plVariant m_SourceValue;
17 plVariant m_TargetValue;
19
20 plTime m_Duration;
21 plTime m_TimePassed;
22};
23
24PL_DECLARE_REFLECTABLE_TYPE(PL_CORE_DLL, plScriptCoroutine_TweenProperty);
This is the base class for all properties that are members of a class. It provides more information a...
Definition AbstractProperty.h:237
Definition ScriptCoroutine_TweenProperty.h:8
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Base class of coroutines which are implemented in C++ to allow automatic unpacking of the arguments f...
Definition ScriptCoroutine.h:99
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
A handle to a component.
Definition Declarations.h:138
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition ScriptCoroutine.h:51
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12