Halli hallo,
ich erstelle diesen Executor:
Sobald User dran, wird aufgerufen:
Bewirkt, dass nach 20 Sekunden der nächste Spieler dran ist, die entsprechende Methode dafür wird aus einem Aufruf in run() von dem Objekt bestehendesSpielersetzobjekt aufgerufen. Das klappt auch.
Allerdings weiß ich nicht, wie ich diesen Timer entfernen kann, wenn z.B. ein User innerhalb dieser Zeit setzt und deshalb der Countdown nicht mehr nötig ist.
Habe es schon mit spieltimer.remove(bestehendesBeendigungsobjekt) versucht, klappt aber nicht. Die Aktion wird IMMER nach 10 Sekunden aufgerufen und ich kann es, einmal gesetzt, nicht mehr vorhanden. Bei einem Spieler wirken dann z.B. drei auslaufende Timer gleichzeitig, weil die Spieler davor nur drei Sekunden brauchten.
Wie kann ich also diesen Scheduler wieder entfernen?
Danke für jeden Tipp.
ich erstelle diesen Executor:
Java:
spieltimer = new ScheduledThreadPoolExecutor(3);
Java:
bestehendesBeendigungsobjekt = new rundeBeenden(this); // private Objektvariable
spieltimer .schedule(bestehendesBeendigungsobjekt, 10, TimeUnit.SECONDS);
Allerdings weiß ich nicht, wie ich diesen Timer entfernen kann, wenn z.B. ein User innerhalb dieser Zeit setzt und deshalb der Countdown nicht mehr nötig ist.
Habe es schon mit spieltimer.remove(bestehendesBeendigungsobjekt) versucht, klappt aber nicht. Die Aktion wird IMMER nach 10 Sekunden aufgerufen und ich kann es, einmal gesetzt, nicht mehr vorhanden. Bei einem Spieler wirken dann z.B. drei auslaufende Timer gleichzeitig, weil die Spieler davor nur drei Sekunden brauchten.
Wie kann ich also diesen Scheduler wieder entfernen?
Danke für jeden Tipp.