public ReplayKey(TimeSpan timeStamp, ReplayKeys key, object data) { TimeStamp = timeStamp; Key = key; KeyData = data; SubKey = new List <object>(); }
public KeyPress(IEnumerable <ReplayFrame> frames, int nexttime, ReplayKeys keys) { var replayFrames = frames?.ToList() ?? new List <ReplayFrame>(); Frames = replayFrames; Start = replayFrames.Count > 0 ? replayFrames.Min(f => f.Time) : 0; if (replayFrames.Count > 0) { Position = new Position(replayFrames[0].X, replayFrames[0].Y); } End = nexttime; ReplayKeys = keys; }
private static List <KeyPress> CalculateKeyPresses(IEnumerable <ReplayFrame> rframes, ReplayKeys k) { var result = new List <KeyPress>(); var frames = new List <ReplayFrame>(); foreach (var t in rframes) { if ((k & t.Keys) > 0) { frames.Add(t); } else { if (frames.Count == 0) { continue; } result.Add(new KeyPress(frames, t.Time, k)); frames = new List <ReplayFrame>(); } } return(result); }