12345678910111213141516171819202122232425262728293031323334353637383940 |
- package me.km.scheduler;
- public class SnuviTask
- {
- private final long rtimer;
- private final Runnable r;
- private long timer;
-
- public SnuviTask(Runnable r, long delay, long rtimer)
- {
- this.rtimer = rtimer << 1; // server ticks seems to be 1/40 of a second
- this.timer = delay << 1;
- this.r = r;
- }
-
- public long getRepeatTimer()
- {
- return rtimer;
- }
-
- public boolean isRepeating()
- {
- return rtimer > 0;
- }
-
- public boolean tick()
- {
- timer -= 1;
- if(timer <= 0)
- {
- r.run();
- if(rtimer <= 0)
- {
- return true;
- }
- timer = rtimer;
- }
- return false;
- }
- }
|