1: <?php
2: namespace aliuly\common;
3:
4: use pocketmine\scheduler\PluginTask;
5: use pocketmine\plugin\Plugin;
6:
7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
19: class PluginCallbackTask extends PluginTask{
20:
21:
22: protected $callable;
23:
24:
25: protected $args;
26:
27: 28: 29: 30: 31:
32: public function __construct(Plugin $owner, callable $callable, array $args = []){
33: parent::__construct($owner);
34: $this->callable = $callable;
35: $this->args = $args;
36: $this->args[] = $this;
37: }
38: 39: 40:
41: public function getCallable(){
42: return $this->callable;
43: }
44:
45: public function onRun($currentTicks){
46: $c = $this->callable;
47: $args = $this->args;
48: $args[] = $currentTicks;
49: $c(...$args);
50: }
51:
52: }
53: