001package com.ericlam.mc.eldgui.component.factory;
002
003import com.ericlam.mc.eldgui.component.ComponentFactory;
004import org.bukkit.Color;
005
006/**
007 * RGB 顔色選擇器組件工廠
008 */
009public interface RGBSelectorFactory extends ComponentFactory<RGBSelectorFactory> {
010
011    /**
012     *
013     * @param title 標題
014     * @return this
015     */
016    RGBSelectorFactory label(String title);
017
018    /**
019     * 綁定組件與 Model 屬性
020     * @param field Model 屬性
021     * @param color 初始化數值
022     * @return this
023     */
024    RGBSelectorFactory bindInput(String field, Color color);
025
026    /**
027     *
028     * @param message 請求輸入時的訊息
029     * @return this
030     */
031    RGBSelectorFactory inputMessage(String message);
032
033    /**
034     *
035     * @param message 玩家輸入無效格式時的訊息
036     * @return this
037     */
038    RGBSelectorFactory invalidMessage(String message);
039
040    /**
041     *
042     * @param maxWait 最長等待輸入時間 (ticks)
043     * @return this
044     */
045    RGBSelectorFactory waitForInput(long maxWait);
046
047    /**
048     * 設置禁用
049     * @return this
050     */
051    RGBSelectorFactory disabled();
052
053}