UIGalleryPage class
Пакет: com.hypixel.hytale.server.core.command.system.pages
Файл: com/hypixel/hytale/server/core/command/system/pages/UIGalleryPage.java
extends: InteractiveCustomUIPage<UIGalleryPage.UIGalleryEventData>
Поля (21)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Value<String> |
CATEGORY_BUTTON_STYLE |
|
public static final BuilderCodec<UIGalleryPage.UIGalleryEventData> |
CODEC |
|
static final String |
KEY_CATEGORY |
|
static final String |
KEY_TOGGLE_CODE |
|
private String |
category |
|
private final int |
codeBlockCount |
|
private final String |
contentPath |
|
private final String |
descriptionKey |
|
private final String |
id |
|
private final String |
nameKey |
|
private String |
toggleCode |
|
int |
var10 |
|
String |
var3 |
|
UICommandBuilder |
var4 |
|
UIGalleryPage.Category |
var4 |
|
String |
var4 |
|
UIEventBuilder |
var5 |
|
String |
var5 |
|
UIGalleryPage.Category |
var6 |
|
int |
var7 |
|
int |
var8 |
Методы (18)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
Category Category(String nullxx, String nullxxx, String nullxxxx, String nullxxxxx, int nullxxxxxx) |
abstract |
|
TOOLTIPS TOOLTIPS("tooltips",
"server.customUI.uiGallery.category.tooltips",
"server.customUI.uiGallery.category.tooltips.desc",
"Pages/UIGallery/Categories/TooltipsContent.ui",
2) |
|
public |
UIGalleryEventDatapublic UIGalleryEventData() |
private |
void |
buildCategoryListvoid buildCategoryList(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2) |
private |
void |
displayCategoryvoid displayCategory(@Nonnull UIGalleryPage.Category var1, @Nonnull UICommandBuilder var2, @Nonnull UIEventBuilder var3) |
abstract |
|
for for(int var4 = 0; var4 < var1.getCodeBlockCount() |
|
public static UIGalleryPage.Category |
fromIdpublic static UIGalleryPage.Category fromId(String var0) |
|
public int |
getCodeBlockCountpublic int getCodeBlockCount() |
|
public String |
getContentPathpublic String getContentPath() |
|
public String |
getDescriptionKeypublic String getDescriptionKey() |
|
public String |
getIdpublic String getId() |
|
public String |
getNameKeypublic String getNameKey() |
public |
void |
handleDataEventvoid handleDataEvent(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull UIGalleryPage.UIGalleryEventData var3) |
|
|
if if(var3.category != null) |
|
|
if if(var6 != this.selectedCategory) |
|
|
if if(var4 == this.selectedCategory) |
abstract |
|
super super(var1, CustomPageLifetime.CanDismiss, UIGalleryPage.UIGalleryEventData.CODEC) |
private |
void |
toggleCodeBlockvoid toggleCodeBlock(int var1, @Nonnull UICommandBuilder var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.pages;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.CustomPageLifetime;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.CustomUIEventBindingType;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.InteractiveCustomUIPage;
class="kw">import com.hypixel.hytale.server.core.ui.Value;
class="kw">import com.hypixel.hytale.server.core.ui.builder.EventData;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UICommandBuilder;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UIEventBuilder;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import javax.annotation.Nonnull;
class="kw">public class UIGalleryPage class="kw">extends InteractiveCustomUIPage<UIGalleryPage.UIGalleryEventData> {
class="kw">private class="kw">static class="kw">final Value<String> CATEGORY_BUTTON_STYLE = Value.ref("Pages/UIGallery/CategoryButton.ui", "LabelStyle");
class="kw">private class="kw">static class="kw">final Value<String> CATEGORY_BUTTON_SELECTED_STYLE = Value.ref("Pages/UIGallery/CategoryButton.ui", "SelectedLabelStyle");
class="kw">private UIGalleryPage.Category selectedCategory = UIGalleryPage.Category.BUTTONS;
class="kw">private class="kw">final IntSet expandedCodeBlocks = new IntOpenHashSet();
class="kw">public UIGalleryPage(@Nonnull PlayerRef var1) {
super(var1, CustomPageLifetime.CanDismiss, UIGalleryPage.UIGalleryEventData.CODEC);
}
@Override
class="kw">public void build(@Nonnull Ref<EntityStore> var1, @Nonnull UICommandBuilder var2, @Nonnull UIEventBuilder var3, @Nonnull Store<EntityStore> var4) {
var2.append("Pages/UIGallery/UIGalleryPage.ui");
this.buildCategoryList(var2, var3);
this.displayCategory(this.selectedCategory, var2, var3);
}
class="kw">public void handleDataEvent(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull UIGalleryPage.UIGalleryEventData var3) {
UICommandBuilder var4 = new UICommandBuilder();
UIEventBuilder var5 = new UIEventBuilder();
if (var3.category != null) {
UIGalleryPage.Category var6 = UIGalleryPage.Category.fromId(var3.category);
if (var6 != this.selectedCategory) {
int var7 = this.selectedCategory.ordinal();
var4.set("#CategoryList[" + var7 + "].Style", CATEGORY_BUTTON_STYLE);
int var8 = var6.ordinal();
var4.set("#CategoryList[" + var8 + "].Style", CATEGORY_BUTTON_SELECTED_STYLE);
this.expandedCodeBlocks.clear();
this.selectedCategory = var6;
this.displayCategory(this.selectedCategory, var4, var5);
}
this.sendUpdate(var4, var5, false);
} else if (var3.toggleCode != null) {
try {
int var10 = Integer.parseInt(var3.toggleCode);
this.toggleCodeBlock(var10, var4);
this.sendUpdate(var4, var5, false);
} catch (NumberFormatException var9) {
}
}
}
class="kw">private void buildCategoryList(@Nonnull UICommandBuilder var1, @Nonnull UIEventBuilder var2) {
var1.clear("#CategoryList");
for (int var3 = 0; var3 < UIGalleryPage.Category.values().length; var3++) {
UIGalleryPage.Category var4 = UIGalleryPage.Category.values()[var3];
var1.append("#CategoryList", "Pages/UIGallery/CategoryButton.ui");
var1.set("#CategoryList[" + var3 + "].TextSpans", Message.translation(var4.getNameKey()));
if (var4 == this.selectedCategory) {
var1.set("#CategoryList[" + var3 + "].Style", CATEGORY_BUTTON_SELECTED_STYLE);
}
var2.addEventBinding(CustomUIEventBindingType.Activating, "#CategoryList[" + var3 + "]", EventData.of("Category", var4.getId()));
}
}
class="kw">private void displayCategory(@Nonnull UIGalleryPage.Category var1, @Nonnull UICommandBuilder var2, @Nonnull UIEventBuilder var3) {
var2.set("#CategoryTitle.TextSpans", Message.translation(var1.getNameKey()));
var2.set("#CategoryDescription.TextSpans", Message.translation(var1.getDescriptionKey()));
var2.clear("#CategoryContent");
var2.append("#CategoryContent", var1.getContentPath());
for (int var4 = 0; var4 < var1.getCodeBlockCount(); var4++) {
String var5 = "#CategoryContent #Code" + var4 + " #ToggleCode";
var3.addEventBinding(CustomUIEventBindingType.Activating, var5, EventData.of("ToggleCode", String.valueOf(var4)));
}
}
class="kw">private void toggleCodeBlock(int var1, @Nonnull UICommandBuilder var2) {
String var3 = "#CategoryContent #Code" + var1 + " #CodeContainer";
String var4 = "#CategoryContent #Code" + var1 + " #ToggleCode";
if (this.expandedCodeBlocks.contains(var1)) {
this.expandedCodeBlocks.remove(var1);
var2.set(var3 + ".Visible", false);
var2.set(var4 + ".TextSpans", Message.raw("Show Code"));
} else {
this.expandedCodeBlocks.add(var1);
var2.set(var3 + ".Visible", true);
var2.set(var4 + ".TextSpans", Message.raw("Hide Code"));
}
}
class="kw">private enum Category {
BUTTONS(
"buttons",
"server.customUI.uiGallery.category.buttons",
"server.customUI.uiGallery.category.buttons.desc",
"Pages/UIGallery/Categories/ButtonsContent.ui",
7
),
INPUTS(
"inputs",
"server.customUI.uiGallery.category.inputs",
"server.customUI.uiGallery.category.inputs.desc",
"Pages/UIGallery/Categories/InputsContent.ui",
4
),
SELECTION(
"selection",
"server.customUI.uiGallery.category.selection",
"server.customUI.uiGallery.category.selection.desc",
"Pages/UIGallery/Categories/SelectionContent.ui",
4
),
CONTAINERS(
"containers",
"server.customUI.uiGallery.category.containers",
"server.customUI.uiGallery.category.containers.desc",
"Pages/UIGallery/Categories/ContainersContent.ui",
7
),
TEXT("text", "server.customUI.uiGallery.category.text", "server.customUI.uiGallery.category.text.desc", "Pages/UIGallery/Categories/TextContent.ui", 3),
SLIDERS(
"sliders",
"server.customUI.uiGallery.category.sliders",
"server.customUI.uiGallery.category.sliders.desc",
"Pages/UIGallery/Categories/SlidersContent.ui",
3
),
PROGRESS(
"progress",
"server.customUI.uiGallery.category.progress",
"server.customUI.uiGallery.category.progress.desc",
"Pages/UIGallery/Categories/ProgressContent.ui",
3
),
SCROLLBARS(
"scrollbars",
"server.customUI.uiGallery.category.scrollbars",
"server.customUI.uiGallery.category.scrollbars.desc",
"Pages/UIGallery/Categories/ScrollbarsContent.ui",
3
),
NAVIGATION(
"navigation",
"server.customUI.uiGallery.category.navigation",
"server.customUI.uiGallery.category.navigation.desc",
"Pages/UIGallery/Categories/NavigationContent.ui",
2
),
TOOLTIPS(
"tooltips",
"server.customUI.uiGallery.category.tooltips",
"server.customUI.uiGallery.category.tooltips.desc",
"Pages/UIGallery/Categories/TooltipsContent.ui",
2
);
class="kw">private class="kw">final String id;
class="kw">private class="kw">final String nameKey;
class="kw">private class="kw">final String descriptionKey;
class="kw">private class="kw">final String contentPath;
class="kw">private class="kw">final int codeBlockCount;
Category(String nullxx, String nullxxx, String nullxxxx, String nullxxxxx, int nullxxxxxx) {
this.id = nullxx;
this.nameKey = nullxxx;
this.descriptionKey = nullxxxx;
this.contentPath = nullxxxxx;
this.codeBlockCount = nullxxxxxx;
}
class="kw">public String getId() {
class="kw">return this.id;
}
class="kw">public String getNameKey() {
class="kw">return this.nameKey;
}
class="kw">public String getDescriptionKey() {
class="kw">return this.descriptionKey;
}
class="kw">public String getContentPath() {
class="kw">return this.contentPath;
}
class="kw">public int getCodeBlockCount() {
class="kw">return this.codeBlockCount;
}
class="kw">public class="kw">static UIGalleryPage.Category fromId(String var0) {
for (UIGalleryPage.Category var4 : values()) {
if (var4.id.equals(var0)) {
class="kw">return var4;
}
}
class="kw">return BUTTONS;
}
}
class="kw">public class="kw">static class UIGalleryEventData {
class="kw">static class="kw">final String KEY_CATEGORY = "Category";
class="kw">static class="kw">final String KEY_TOGGLE_CODE = "ToggleCode";
class="kw">public class="kw">static class="kw">final BuilderCodec<UIGalleryPage.UIGalleryEventData> CODEC = BuilderCodec.builder(
UIGalleryPage.UIGalleryEventData.class, UIGalleryPage.UIGalleryEventData::new
)
.addField(new KeyedCodec<>("Category", Codec.STRING), (var0, var1) -> var0.category = var1, var0 -> var0.category)
.addField(new KeyedCodec<>("ToggleCode", Codec.STRING), (var0, var1) -> var0.toggleCode = var1, var0 -> var0.toggleCode)
.build();
class="kw">private String category;
class="kw">private String toggleCode;
class="kw">public UIGalleryEventData() {
}
}
}