2013-12-01 20:55:52 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace BizHawk.Client.Common
|
|
|
|
|
{
|
2013-12-02 04:24:45 +00:00
|
|
|
|
public class MovieRecord : IMovieRecord
|
2013-12-01 20:55:52 +00:00
|
|
|
|
{
|
|
|
|
|
private List<byte> _state = new List<byte>();
|
|
|
|
|
|
2013-12-03 02:10:17 +00:00
|
|
|
|
public string Input { get; set; }
|
2013-12-01 20:55:52 +00:00
|
|
|
|
public bool Lagged { get; private set; }
|
|
|
|
|
public IEnumerable<byte> State
|
|
|
|
|
{
|
|
|
|
|
get { return _state; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MovieRecord()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
2013-12-02 04:24:45 +00:00
|
|
|
|
|
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
|
|
|
|
//TODO: consider the fileformat of binary and lagged data
|
|
|
|
|
return Input;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class MovieRecordList : List<MovieRecord>
|
|
|
|
|
{
|
2013-12-02 14:59:38 +00:00
|
|
|
|
public MovieRecordList()
|
|
|
|
|
: base()
|
|
|
|
|
{
|
|
|
|
|
Guid = new Guid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Guid Guid { get; private set; }
|
|
|
|
|
|
2013-12-02 04:24:45 +00:00
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
|
|
|
|
var sb = new StringBuilder();
|
2013-12-02 14:59:38 +00:00
|
|
|
|
sb
|
|
|
|
|
.AppendLine("[Input]")
|
|
|
|
|
.Append(HeaderKeys.GUID)
|
|
|
|
|
.Append(' ')
|
|
|
|
|
.Append(Guid)
|
|
|
|
|
.AppendLine();
|
|
|
|
|
|
2013-12-02 04:24:45 +00:00
|
|
|
|
foreach (var record in this)
|
|
|
|
|
{
|
|
|
|
|
sb.AppendLine(record.ToString());
|
|
|
|
|
}
|
2013-12-02 14:59:38 +00:00
|
|
|
|
sb.AppendLine("[/Input]");
|
2013-12-02 04:24:45 +00:00
|
|
|
|
return sb.ToString();
|
|
|
|
|
}
|
2013-12-03 01:43:02 +00:00
|
|
|
|
|
|
|
|
|
public void Truncate(int index)
|
|
|
|
|
{
|
|
|
|
|
if (index < Count)
|
|
|
|
|
{
|
|
|
|
|
RemoveRange(index, Count - index);
|
|
|
|
|
}
|
|
|
|
|
}
|
2013-12-01 20:55:52 +00:00
|
|
|
|
}
|
|
|
|
|
}
|