public ReplayKey(TimeSpan timeStamp, ReplayKeys key, object data)
 {
     TimeStamp = timeStamp;
     Key       = key;
     KeyData   = data;
     SubKey    = new List <object>();
 }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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);
        }