かなり久々に配布してみます。気分で作った新しいFormAPIです。
コードの例については、後々要望があればREADMEに記載するつもりではありますが、現時点では簡易的なExamplePluginをGitHub上にpushしておいたのでご参照ください。
基本的にはオブジェクトを使ってFormを操作するようにしようとしています。
FormBase(pocketmine\form\Formを実装)の子クラスである3つのクラスにbbo51dog\bboform\element下のクラスを登録することでFormを作成し、
ほぼ勢いで作ったようなものなのでおかしい点や改善点などございましたらお気軽に。
GitHub
コードの例については、後々要望があればREADMEに記載するつもりではありますが、現時点では簡易的なExamplePluginをGitHub上にpushしておいたのでご参照ください。
基本的にはオブジェクトを使ってFormを操作するようにしようとしています。
FormBase(pocketmine\form\Formを実装)の子クラスである3つのクラスにbbo51dog\bboform\element下のクラスを登録することでFormを作成し、
FormBase::handleSubmit()かElement::handleSubmit()をオーバーライドすることでボタン押下時の挙動を記述できます。作者としては、SimpleForm及びModalFormではButton::handleSubmit()、CustomFormではCustomForm::handleSubmit()の使用頻度が高いと考えている為、それらについてはClosureをコンストラクタに持ったクラスも用意し、簡単なコードについては追加でクラスを作る必要が無くなっています。ほぼ勢いで作ったようなものなのでおかしい点や改善点などございましたらお気軽に。
GitHub