Polyphase Game Engine
Loading...
Searching...
No Matches
ScriptValueClip.h
Go to the documentation of this file.
1#pragma once
2
4#include "Datum.h"
5
6#include <vector>
7
14
16{
17public:
18
20
22 virtual ~ScriptValueClip();
23
24 virtual void SaveStream(Stream& stream) override;
25 virtual void LoadStream(Stream& stream, uint32_t version) override;
26 virtual void GatherProperties(std::vector<Property>& outProps) override;
27
28 virtual bool SupportsKeyframes() const override { return true; }
29 virtual uint32_t GetNumKeyframes() const override { return (uint32_t)mKeyframes.size(); }
30 virtual float GetKeyframeTime(uint32_t index) const override { return mKeyframes[index].mTime; }
31 virtual void AddKeyframeAtTime(float localTime, Node* targetNode) override;
32 virtual void SetKeyframeTime(uint32_t index, float time) override;
33 virtual void RemoveKeyframe(uint32_t index) override;
34
35 const ScriptValueKeyframe& GetKeyframe(uint32_t index) const { return mKeyframes[index]; }
36 void AddKeyframe(const ScriptValueKeyframe& kf);
37
38 Datum EvaluateAtLocalTime(float localTime) const;
39
40protected:
41
42 std::vector<ScriptValueKeyframe> mKeyframes;
43};
InterpMode
Definition TimelineTypes.h:6
Definition Datum.h:164
Definition Node.h:67
Definition ScriptValueClip.h:16
virtual void AddKeyframeAtTime(float localTime, Node *targetNode) override
Definition ScriptValueClip.cpp:121
virtual ~ScriptValueClip()
Definition ScriptValueClip.cpp:11
virtual float GetKeyframeTime(uint32_t index) const override
Definition ScriptValueClip.h:30
virtual uint32_t GetNumKeyframes() const override
Definition ScriptValueClip.h:29
virtual bool SupportsKeyframes() const override
Definition ScriptValueClip.h:28
ScriptValueClip()
Definition ScriptValueClip.cpp:7
virtual void SetKeyframeTime(uint32_t index, float time) override
Definition ScriptValueClip.cpp:150
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition ScriptValueClip.cpp:67
const ScriptValueKeyframe & GetKeyframe(uint32_t index) const
Definition ScriptValueClip.h:35
Datum EvaluateAtLocalTime(float localTime) const
Definition ScriptValueClip.cpp:166
virtual void SaveStream(Stream &stream) override
Definition ScriptValueClip.cpp:15
std::vector< ScriptValueKeyframe > mKeyframes
Definition ScriptValueClip.h:42
DECLARE_CLIP(ScriptValueClip, TimelineClip)
void AddKeyframe(const ScriptValueKeyframe &kf)
Definition ScriptValueClip.cpp:102
virtual void RemoveKeyframe(uint32_t index) override
Definition ScriptValueClip.cpp:158
virtual void LoadStream(Stream &stream, uint32_t version) override
Definition ScriptValueClip.cpp:41
Definition Stream.h:21
Definition TimelineClip.h:24
Definition ScriptValueClip.h:9
Datum mValue
Definition ScriptValueClip.h:11
InterpMode mInterpMode
Definition ScriptValueClip.h:12
float mTime
Definition ScriptValueClip.h:10