001package com.ericlam.mc.eldgui.component.factory;
002
003import com.ericlam.mc.eldgui.component.ComponentFactory;
004
005/**
006 * 文字輸入組件工廠
007 */
008public interface TextInputFactory extends ComponentFactory<TextInputFactory> {
009
010    /**
011     *
012     * @param label 標題
013     * @return this
014     */
015    TextInputFactory label(String label);
016
017    /**
018     * 綁定 組件 與 Model 屬性
019     * @param field Model 屬性
020     * @param initValue 初始化數值
021     * @return this
022     */
023    TextInputFactory bindInput(String field, String initValue);
024
025    /**
026     *
027     * @param wait 等待玩家輸入時間(ticks)
028     * @return this
029     */
030    TextInputFactory waitForInput(long wait);
031
032    /**
033     *
034     * @param message 要求玩家輸入時的訊息
035     * @return this
036     */
037    TextInputFactory messageInput(String message);
038
039    /**
040     * 設置禁用
041     * @return this
042     */
043    TextInputFactory disabled();
044
045}