123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package me.km.scheduler;
- public class SnuviTask {
- private final long rtimer;
- private final Runnable r;
- private long timer;
- private String name;
- private boolean killable;
- public SnuviTask(String name, boolean killable, Runnable r, long delay, long rtimer) {
- this.killable = killable;
- this.name = name;
- this.rtimer = rtimer;
- this.timer = delay;
- this.r = r;
- }
- public long getRepeatTimer() {
- return rtimer;
- }
- public boolean isRepeating() {
- return rtimer > 0;
- }
- public String getName() {
- return name;
- }
- public boolean isKillable() {
- return killable;
- }
- public boolean tick(int ticks, boolean noRepeat) {
- timer -= ticks;
- if(timer <= 0) {
- r.run();
- if(rtimer <= 0 || noRepeat) {
- return true;
- }
- timer = rtimer;
- }
- return false;
- }
- }
|