BizHawk/BizHawk.Client.Common/movie/tasproj/TasSession.cs

56 lines
1.1 KiB
C#

using System;
using System.Text;
namespace BizHawk.Client.Common
{
public class TasSession
{
private readonly TasMovie _movie;
public int CurrentFrame { get; private set; }
public int CurrentBranch { get; private set; }
public TasSession(TasMovie movie)
{
_movie = movie;
CurrentFrame = 0;
CurrentBranch = -1;
}
public void UpdateValues()
{
CurrentFrame = Global.Emulator.Frame;
CurrentBranch = _movie.CurrentBranch;
}
public override string ToString()
{
UpdateValues();
var sb = new StringBuilder();
sb.AppendLine(CurrentFrame.ToString());
sb.AppendLine(CurrentBranch.ToString());
return sb.ToString();
}
public void PopulateFromString(string session)
{
if (!string.IsNullOrWhiteSpace(session))
{
string[] lines = session.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
CurrentFrame = lines.Length > 0 ? int.Parse(lines[0]) : 0;
if (lines.Length > 1)
{
CurrentBranch = int.Parse(lines[1]);
}
else
{
CurrentBranch = -1;
}
}
}
}
}