Polyphase Game Engine
Loading...
Searching...
No Matches
TimelinePlayer.h
Go to the documentation of this file.
1#pragma once
2
3#include "Nodes/Node.h"
4#include "AssetRef.h"
6
7class Timeline;
8
9class TimelinePlayer : public Node
10{
11public:
12
14
16 virtual ~TimelinePlayer();
17
18 virtual void Create() override;
19 virtual void Destroy() override;
20 virtual void Tick(float deltaTime) override;
21 virtual void EditorTick(float deltaTime) override;
22 virtual void Start() override;
23 virtual void Stop() override;
24
25 virtual void GatherProperties(std::vector<Property>& outProps) override;
26 virtual const char* GetTypeName() const override;
27
28 // Playback API
29 void Play();
30 void Pause();
31 void StopPlayback();
32 void SetTime(float time);
33 float GetTime() const;
34 float GetDuration() const;
35 bool IsPlaying() const;
36 bool IsPaused() const;
37 float GetProgress() const;
38
39 // Asset
40 void SetTimeline(Timeline* timeline);
41 Timeline* GetTimeline() const;
43
44 // Settings
45 void SetPlayOnStart(bool playOnStart) { mPlayOnStart = playOnStart; }
46 bool GetPlayOnStart() const { return mPlayOnStart; }
47
48 // Instance access (for editor preview)
50 void EnsureInstance();
51
52 void EvaluateTimeline(float time);
53
54protected:
55
58 float mCurrentTime = 0.0f;
59 bool mPlaying = false;
60 bool mPaused = false;
61 bool mPlayOnStart = false;
62};
Definition AssetRef.h:18
Definition Node.h:67
Definition TimelineInstance.h:32
Definition TimelinePlayer.h:10
TimelinePlayer()
Definition TimelinePlayer.cpp:12
bool IsPlaying() const
Definition TimelinePlayer.cpp:208
bool mPlayOnStart
Definition TimelinePlayer.h:61
bool mPlaying
Definition TimelinePlayer.h:59
void StopPlayback()
Definition TimelinePlayer.cpp:154
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition TimelinePlayer.cpp:99
void SetTime(float time)
Definition TimelinePlayer.cpp:180
float GetTime() const
Definition TimelinePlayer.cpp:193
virtual void Create() override
Definition TimelinePlayer.cpp:21
Timeline * GetTimeline() const
Definition TimelinePlayer.cpp:237
bool mPaused
Definition TimelinePlayer.h:60
virtual void Stop() override
Definition TimelinePlayer.cpp:93
float GetProgress() const
Definition TimelinePlayer.cpp:218
DECLARE_NODE(TimelinePlayer, Node)
TimelineInstance * mInstance
Definition TimelinePlayer.h:57
bool GetPlayOnStart() const
Definition TimelinePlayer.h:46
virtual void Destroy() override
Definition TimelinePlayer.cpp:26
virtual void Tick(float deltaTime) override
Definition TimelinePlayer.cpp:37
void Pause()
Definition TimelinePlayer.cpp:145
void SetTimeline(Timeline *timeline)
Definition TimelinePlayer.cpp:226
void EnsureInstance()
Definition TimelinePlayer.cpp:242
TimelineInstance * GetInstance()
Definition TimelinePlayer.h:49
bool IsPaused() const
Definition TimelinePlayer.cpp:213
float GetDuration() const
Definition TimelinePlayer.cpp:198
virtual void EditorTick(float deltaTime) override
Definition TimelinePlayer.cpp:78
virtual ~TimelinePlayer()
Definition TimelinePlayer.cpp:17
virtual void Start() override
Definition TimelinePlayer.cpp:83
void Play()
Definition TimelinePlayer.cpp:114
virtual const char * GetTypeName() const override
Definition TimelinePlayer.cpp:109
float mCurrentTime
Definition TimelinePlayer.h:58
TimelineRef GetTimelineRef() const
Definition TimelinePlayer.h:42
void SetPlayOnStart(bool playOnStart)
Definition TimelinePlayer.h:45
TimelineRef mTimeline
Definition TimelinePlayer.h:56
void EvaluateTimeline(float time)
Definition TimelinePlayer.cpp:256
Definition Timeline.h:10