funo-network/fn.libs.forms

此包已被废弃,不再维护。未建议替代包。

https://github.com/FunoNetwork/fn.libs.forms

dev-master 2019-12-25 01:54 UTC

This package is auto-updated.

Last update: 2020-08-25 03:33:04 UTC


README

一个受EasyForms、FormAPI和BlockSniper启发的PocketMine-MP表单库。欢迎提供更好的命名建议。

待办事项

  • 添加剩余元素
  • 是否允许为下拉列表设置全局回调而不是仅对单个选项设置?

用法

您可以将此库用作病毒或插件。

按钮列表示例

$form = new SimpleForm("Servers");

$form->addButton("Hunger Games", function() {
    $player->transfer("hg.example.com");
});

$form->onClose(function() {
    $player->sendMessage("Closed form");
});

$player->sendForm($form);

模态表单示例

$form = new ModalForm("Reset Account", "Do you wish to delete your account? You will lose all your progress.");
$form->setYesButtonText("Yes");
$form->setNoButtonText("Cancel");
$form->onResponse(function($data) {
    // I cant remember what the data is but yeah
});

自定义表单示例

$form = new CustomForm("Chat Effects");
$form->addLabel("Customize your chat!\n\n");

$dropdown = $form->addDropdown("Chat Colour");
foreach(["Default", "Aqua", "Gold"] as $colour) {
    $dropdown->addOption($colour, (bool) ($session->getPreference("chatColour") == $colour), function() use ($session, $colour) {
        $session->setPreference("chatColour", $colour, false);
    }
}

$form->addToggle("Display rank", (bool) $session->getPreference("displayRank"), function(bool $value) use ($session) {
    $session->setPreference("displayRank", $value, false);
});

$player->sendForm($form);

可以省略切换的回调,这样点击将不会执行任何操作。

注意

包括对服务器设置表单的基本支持。但是,您将需要自行处理数据包。

许可

根据MIT许可协议授权。有关更多信息,请参阅名为LICENSE的文件。

版权所有 © 2019 Funo Network。