FixedTimeCounter.cs 775 B

12345678910111213141516171819202122232425262728
  1. namespace ET
  2. {
  3. public class FixedTimeCounter
  4. {
  5. private long startTime;
  6. private long startFrame;
  7. public int Interval { get; private set; }
  8. public FixedTimeCounter(long startTime, long startFrame, int interval)
  9. {
  10. this.startTime = startTime;
  11. this.startFrame = startFrame;
  12. this.Interval = interval;
  13. }
  14. public void ChangeInterval(int interval, int frame)
  15. {
  16. this.startTime += (frame - this.startFrame) * this.Interval;
  17. this.startFrame = frame;
  18. this.Interval = interval;
  19. }
  20. public long FrameTime(int frame)
  21. {
  22. return this.startTime + (frame - this.startFrame) * this.Interval;
  23. }
  24. }
  25. }