diff options
| author | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
|---|---|---|
| committer | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
| commit | 7ccb819f867493f8ec202ea3b39c94c198c64584 (patch) | |
| tree | 94622e61af0ff359e3d6689cf274d74f60b2492a /internal_rewrite/movement_recorder.hpp | |
| parent | 564d979b79e8a5aaa5014eba0ecd36c61575934f (diff) | |
first
Diffstat (limited to 'internal_rewrite/movement_recorder.hpp')
| -rw-r--r-- | internal_rewrite/movement_recorder.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal_rewrite/movement_recorder.hpp b/internal_rewrite/movement_recorder.hpp new file mode 100644 index 0000000..03bcf8c --- /dev/null +++ b/internal_rewrite/movement_recorder.hpp @@ -0,0 +1,29 @@ +#pragma once +#include "sdk.hpp" +#include "vector.hpp" + +namespace features +{ + class c_move_recorder { + public: + void play_back( ); + void stop_playback( ); + void clear_recording( ); + + bool is_recording( ) const { return m_recording; } + bool is_playing( ) const { return m_playing; } + int get_record_count( ) const { return m_move_data.size( ); } + auto get_current_record( ) const { return m_record_index; } + + void operator()( user_cmd_t* ); + private: + void record_cmd( user_cmd_t* cmd ); + void start_recording( ); + void stop_recording( ); + + bool m_recording = false; + bool m_playing = false; + size_t m_record_index = 0; + std::vector< user_cmd_t > m_move_data; + }; +}
\ No newline at end of file |
