Unravel Engine C++ Reference
Loading...
Searching...
No Matches
events.cpp
Go to the documentation of this file.
1#include "events.h"
2
3namespace unravel
4{
9
11{
12 if(is_playing == play)
13 {
14 return;
15 }
16
17
18 if(play)
19 {
21
22 is_playing = play;
23
24 on_play_begin(ctx);
25
27 }
28 else
29 {
30 if(is_paused)
31 {
32 set_paused(ctx, false);
33 }
34
35 on_play_end(ctx);
36
37 is_playing = play;
38
40
41 }
42}
43
48
49void events::set_paused(rtti::context& ctx, bool paused)
50{
51 if(paused && !is_playing)
52 {
53 return;
54 }
55
56 if(is_paused == paused)
57 {
58 return;
59 }
60
61 is_paused = paused;
62 is_paused ? on_pause(ctx) : on_resume(ctx);
63}
64
66{
67 if(!is_playing)
68 {
69 return;
70 }
71
72 if(!is_paused)
73 {
74 return;
75 }
76
78}
79
80} // namespace unravel
void skip_next_frame(rtti::context &ctx)
Definition events.cpp:65
hpp::event< void(rtti::context &)> on_skip_next_frame
Definition events.h:31
hpp::event< void(rtti::context &)> on_resume
Definition events.h:30
hpp::event< void(rtti::context &)> on_play_begin
Definition events.h:24
uint64_t frames_playing
Definition events.h:46
void toggle_play_mode(rtti::context &ctx)
Definition events.cpp:5
bool is_paused
Definition events.h:45
hpp::event< void(rtti::context &)> on_play_before_begin
engine play events
Definition events.h:23
void toggle_pause(rtti::context &ctx)
Definition events.cpp:44
void set_paused(rtti::context &ctx, bool paused)
Definition events.cpp:49
hpp::event< void(rtti::context &)> on_play_end
Definition events.h:25
hpp::event< void(rtti::context &)> on_pause
Definition events.h:29
void set_play_mode(rtti::context &ctx, bool play)
Definition events.cpp:10
bool is_playing
Definition events.h:44
hpp::event< void(rtti::context &)> on_play_after_end
Definition events.h:26