TabManager.java
net.minecraft.client.gui.components.tabs.TabManager
信息
- 全限定名:net.minecraft.client.gui.components.tabs.TabManager
- 类型:public class
- 包:net.minecraft.client.gui.components.tabs
- 源码路径:src/main/java/net/minecraft/client/gui/components/tabs/TabManager.java
- 起始行号:L15
- 职责:
TODO
字段/常量
-
addWidget- 类型:
Consumer<AbstractWidget> - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
removeWidget- 类型:
Consumer<AbstractWidget> - 修饰符:
private final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
onSelected- 类型:
Consumer<Tab> - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
onDeselected- 类型:
Consumer<Tab> - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
currentTab- 类型:
Tab - 修饰符:
private - 源码定位:
L20 - 说明:
TODO
- 类型:
-
tabArea- 类型:
ScreenRectangle - 修饰符:
private - 源码定位:
L21 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public TabManager(Consumer<AbstractWidget> addWidget, Consumer<AbstractWidget> removeWidget) @ L23
- 构造器名:TabManager
- 源码定位:L23
- 修饰符:public
参数:
- addWidget: Consumer
- removeWidget: Consumer
说明:
TODO
public TabManager(Consumer<AbstractWidget> addWidget, Consumer<AbstractWidget> removeWidget, Consumer<Tab> onSelected, Consumer<Tab> onDeselected) @ L27
- 构造器名:TabManager
- 源码定位:L27
- 修饰符:public
参数:
- addWidget: Consumer
- removeWidget: Consumer
- onSelected: Consumer
- onDeselected: Consumer
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void setTabArea(ScreenRectangle tabArea) @ L34
- 方法名:setTabArea
- 源码定位:L34
- 返回类型:void
- 修饰符:public
参数:
- tabArea: ScreenRectangle
说明:
TODO
public void setCurrentTab(Tab tab, boolean playSound) @ L42
- 方法名:setCurrentTab
- 源码定位:L42
- 返回类型:void
- 修饰符:public
参数:
- tab: Tab
- playSound: boolean
说明:
TODO
public Tab getCurrentTab() @ L64
- 方法名:getCurrentTab
- 源码定位:L64
- 返回类型:Tab
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class TabManager {
private final Consumer<AbstractWidget> addWidget;
private final Consumer<AbstractWidget> removeWidget;
private final Consumer<Tab> onSelected;
private final Consumer<Tab> onDeselected;
private @Nullable Tab currentTab;
private @Nullable ScreenRectangle tabArea;
public TabManager(Consumer<AbstractWidget> addWidget, Consumer<AbstractWidget> removeWidget) {
this(addWidget, removeWidget, t -> {}, t -> {});
}
public TabManager(Consumer<AbstractWidget> addWidget, Consumer<AbstractWidget> removeWidget, Consumer<Tab> onSelected, Consumer<Tab> onDeselected) {
this.addWidget = addWidget;
this.removeWidget = removeWidget;
this.onSelected = onSelected;
this.onDeselected = onDeselected;
}
public void setTabArea(ScreenRectangle tabArea) {
this.tabArea = tabArea;
Tab tab = this.getCurrentTab();
if (tab != null) {
tab.doLayout(tabArea);
}
}
public void setCurrentTab(Tab tab, boolean playSound) {
if (!Objects.equals(this.currentTab, tab)) {
if (this.currentTab != null) {
this.currentTab.visitChildren(this.removeWidget);
}
Tab oldTab = this.currentTab;
this.currentTab = tab;
tab.visitChildren(this.addWidget);
if (this.tabArea != null) {
tab.doLayout(this.tabArea);
}
if (playSound) {
Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));
}
this.onDeselected.accept(oldTab);
this.onSelected.accept(this.currentTab);
}
}
public @Nullable Tab getCurrentTab() {
return this.currentTab;
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Minecraft.getInstance()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
SimpleSoundInstance.forUI()
- 引用位置: