BizHawk/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs

78 lines
1.3 KiB
C#
Raw Normal View History

2014-06-29 03:03:27 +00:00
using System.Linq;
2014-06-13 00:15:55 +00:00
namespace BizHawk.Client.Common
{
2014-06-29 03:03:27 +00:00
public partial class Bk2Movie
2014-06-13 00:15:55 +00:00
{
private enum Moviemode { Inactive, Play, Record, Finished }
private Moviemode _mode = Moviemode.Inactive;
public bool IsActive
{
get { return _mode != Moviemode.Inactive; }
}
public bool IsPlaying
{
get { return _mode == Moviemode.Play || _mode == Moviemode.Finished; }
}
public bool IsRecording
{
2014-06-13 00:43:55 +00:00
get { return _mode == Moviemode.Record; }
2014-06-13 00:15:55 +00:00
}
public bool IsFinished
{
get { return _mode == Moviemode.Finished; }
}
2014-07-08 13:33:01 +00:00
public virtual void StartNewRecording()
2014-06-13 00:15:55 +00:00
{
2014-06-13 00:43:55 +00:00
_mode = Moviemode.Record;
if (Global.Config.EnableBackupMovies && _makeBackup && _log.Any())
{
SaveBackup();
_makeBackup = false;
}
_log.Clear();
2014-06-13 00:15:55 +00:00
}
public void StartNewPlayback()
{
2014-06-13 00:43:55 +00:00
_mode = Moviemode.Play;
2014-06-13 00:15:55 +00:00
}
public void SwitchToRecord()
{
2014-06-13 00:43:55 +00:00
_mode = Moviemode.Record;
2014-06-13 00:15:55 +00:00
}
public void SwitchToPlay()
{
2014-06-13 00:43:55 +00:00
_mode = Moviemode.Play;
Save();
2014-06-13 00:15:55 +00:00
}
public void Stop(bool saveChanges = true)
{
2014-06-13 00:43:55 +00:00
if (saveChanges)
{
if (_mode == Moviemode.Record || Changes)
{
Save();
}
}
Changes = false;
_mode = Moviemode.Inactive;
2014-06-13 00:15:55 +00:00
}
2014-06-14 14:04:54 +00:00
public void FinishedMode()
2014-06-14 14:04:54 +00:00
{
_mode = Moviemode.Finished;
2014-06-14 14:04:54 +00:00
}
2014-06-13 00:15:55 +00:00
}
}