2019-08-09 16:25:59 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "MessageManager.h"
|
|
|
|
#include "IInputProvider.h"
|
|
|
|
#include "MovieTypes.h"
|
|
|
|
|
|
|
|
class MovieRecorder;
|
|
|
|
class VirtualFile;
|
|
|
|
class Console;
|
|
|
|
|
|
|
|
class IMovie : public IInputProvider
|
|
|
|
{
|
|
|
|
public:
|
2021-03-10 11:13:28 -05:00
|
|
|
virtual bool Play(VirtualFile &file) = 0;
|
2019-08-09 16:25:59 -04:00
|
|
|
virtual bool IsPlaying() = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
class MovieManager
|
|
|
|
{
|
|
|
|
private:
|
2019-10-16 20:22:45 -04:00
|
|
|
shared_ptr<Console> _console;
|
|
|
|
shared_ptr<IMovie> _player;
|
|
|
|
shared_ptr<MovieRecorder> _recorder;
|
2019-08-09 16:25:59 -04:00
|
|
|
|
|
|
|
public:
|
2019-10-16 20:22:45 -04:00
|
|
|
MovieManager(shared_ptr<Console> console);
|
|
|
|
|
|
|
|
void Record(RecordMovieOptions options);
|
|
|
|
void Play(VirtualFile file, bool silent = false);
|
|
|
|
void Stop();
|
|
|
|
bool Playing();
|
|
|
|
bool Recording();
|
2021-03-10 11:13:28 -05:00
|
|
|
};
|