SnuviTask.java 694 B

123456789101112131415161718192021222324252627282930313233
  1. package me.km.scheduler;
  2. public class SnuviTask {
  3. private final long rtimer;
  4. private final Runnable r;
  5. private long timer;
  6. public SnuviTask(Runnable r, long delay, long rtimer) {
  7. this.rtimer = rtimer;
  8. this.timer = delay;
  9. this.r = r;
  10. }
  11. public long getRepeatTimer() {
  12. return rtimer;
  13. }
  14. public boolean isRepeating() {
  15. return rtimer > 0;
  16. }
  17. public boolean tick(int ticks, boolean noRepeat) {
  18. timer -= ticks;
  19. if(timer <= 0) {
  20. r.run();
  21. if(rtimer <= 0 || noRepeat) {
  22. return true;
  23. }
  24. timer = rtimer;
  25. }
  26. return false;
  27. }
  28. }