001package com.ericlam.mc.eldgui;
002
003import com.google.common.annotations.Beta;
004import org.bukkit.entity.Player;
005
006import java.util.function.Consumer;
007
008/**
009 * 界面調度器
010 */
011public interface UIDispatcher {
012
013    /**
014     * 為玩家開啓
015     * @param player 玩家
016     */
017    void openFor(Player player);
018
019    /**
020     * 為玩家開啓,並初始化 Session
021     * @param player 玩家
022     * @param initSession 初始化的 Session
023     */
024    void openFor(Player player, Consumer<UISession> initSession);
025
026    /**
027     * 全局打開 (目前暫不開放)
028     * @param player 玩家
029     */
030    @Deprecated
031    @Beta
032    void openForGlobal(Player player);
033
034}