#######################################################################
#######################################################################


$$$$$$$$\  $$$$$$\   $$$$$$\  $$\   $$\  $$$$$$\  $$$$$$$\ $$$$$$\ 
\__$$  __|$$  __$$\ $$  __$$\ $$ | $$  |$$  __$$\ $$  __$$\\_$$  _|
   $$ |   $$ /  $$ |$$ /  \__|$$ |$$  / $$ /  $$ |$$ |  $$ | $$ |  
   $$ |   $$$$$$$$ |\$$$$$$\  $$$$$  /  $$$$$$$$ |$$$$$$$  | $$ |  
   $$ |   $$  __$$ | \____$$\ $$  $$<   $$  __$$ |$$  ____/  $$ |  
   $$ |   $$ |  $$ |$$\   $$ |$$ |\$$\  $$ |  $$ |$$ |       $$ |  
   $$ |   $$ |  $$ |\$$$$$$  |$$ | \$$\ $$ |  $$ |$$ |     $$$$$$\ 
   \__|   \__|  \__| \______/ \__|  \__|\__|  \__|\__|     \______|

   製作者: vardo
   Twitter: @o10ri3_

#######################################################################
#######################################################################




概要:

 - このライブラリはPMMPプラグインにおける遅延、反復処理のスケジューラーを簡易的に操作できるように
   したものです。
 - オブジェクトは生成する必要もないので簡単にできると思います。
 - もしよければ静的関数などの勉強に、本ライブラリのコードを覗いても舞いません


:----------------------------------------------------------------------:

利点:

 - このライブラリを用いるとPluginBaseを継承していないクラス内でもタスクを起動できるので幅広い面
   でご利用いただけると思います
 - 全て静的な呼び方ができるので面倒なインスタンス作成がいりません。


:----------------------------------------------------------------------:

ご利用前の準備:

 1. 説明の関係上ご利用になるプラグインのファイル構成を "TESTPLUGIN/src/otorisan/Main"
    だとします。
 2. otorisanというフォルダがある場所にtaskapiというフォルダを入れてください。
 3. このファイル (TASKAPI_BY_VARDO.txt) を名前を変えずに同じ場所に入れてください。
 4. 使いたいクラスで use文を書いてください "use taskapi\Plan"
 5. onEnable() 内で Plan::register($this); を使用して下さい


:----------------------------------------------------------------------:

注意:

 ご利用の際にはこのファイルを名前を変えずに "pluginname/src/" に入れてください。
 入れてないとプラグイン自体が有効化されません。


:----------------------------------------------------------------------:

関数紹介:
 
 Plan::register(PluginBase $plugin) : void
 > 引数に該当するプラグインのオブジェクトを入れてください。
 > これをやらないとそのほかの関数は使えません。


 Plan::repeat(string $marker, array $array=[], int $every=1*20, ?string $path=null) : bool
 > 引数にタスクの名前(クラス名), 継承する値, 何秒おきに処理するかの秒数, パスを入れてください
 > パスはPluginBaseのクラスがある場所以外でタスクを動かす場合にのみ書き込んでください。 (なお、taskapiのフォルダがある場所より上はやめてください)
 > 継承する内容を書き込む際、必要なだけ入れていいのですがキーを指定する入れ方はやめてください。
   入れる際は $array[] = $data; のような形で配列にまとめてください
 > $arrayの格納した順番にインスタンスが生成されます。注意してください


 Plan::delay(string $marker, array $array=[], int $delayTime, ?string $path=null) : bool
 > 引数にタスクの名前(クラス名), 継承する値, 何秒後に処理するかの秒数, パスを入れてください
 > パスはPluginBaseのクラスがある場所以外でタスクを動かす場合にのみ書き込んでください。 (なお、taskapiのフォルダがある場所より上はやめてください)
 > 継承する内容を書き込む際、必要なだけ入れていいのですがキーを指定する入れ方はやめてください。
   入れる際は $array[] = $data; のような形で配列にまとめてください
 > $arrayの格納した順番にインスタンスが生成されます。注意してください

 Plan::stop(string $marker) : bool
 > 指定した名前(クラス)のスケジューラーをキャンセルします


 Plan::exsist(string $marker) : bool
 > 指定したスケジューラーがあるかどうか


 Plan::get(string $marker) : ?Task
 > 指定したスケジューラーのタスク( \pocketmine\scheduler\Task )を返します。
 > ない場合はnullが返ります


:----------------------------------------------------------------------:

連絡:

 エラーなどの連絡はツイッターにお願いします。


:----------------------------------------------------------------------:

最後に:

 サンプルプラグインも組み込んであるので参考にしてください