DialogPageEventData class
Пакет: com.hypixel.hytale.builtin.adventure.objectives
Файл: com/hypixel/hytale/builtin/adventure/objectives/DialogPage.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public static final BuilderCodec<DialogPage.DialogPageEventData> |
CODEC |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.objectives;
class="kw">import com.hypixel.hytale.builtin.adventure.objectives.config.task.UseEntityObjectiveTaskAsset;
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.protocol.packets.interface_.Page;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.pages.InteractiveCustomUIPage;
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 javax.annotation.Nonnull;
class="kw">public class DialogPage class="kw">extends InteractiveCustomUIPage<DialogPage.DialogPageEventData> {
@Nonnull
class="kw">public class="kw">static class="kw">final String LAYOUT = "Pages/DialogPage.ui";
class="kw">private class="kw">final UseEntityObjectiveTaskAsset.DialogOptions dialogOptions;
class="kw">public DialogPage(@Nonnull PlayerRef var1, UseEntityObjectiveTaskAsset.DialogOptions var2) {
super(var1, CustomPageLifetime.CanDismissOrCloseThroughInteraction, DialogPage.DialogPageEventData.CODEC);
this.dialogOptions = var2;
}
@Override
class="kw">public void build(@Nonnull Ref<EntityStore> var1, @Nonnull UICommandBuilder var2, @Nonnull UIEventBuilder var3, @Nonnull Store<EntityStore> var4) {
var2.append("Pages/DialogPage.ui");
var2.set("#EntityName.Text", Message.translation(this.dialogOptions.getEntityNameKey()));
var2.set("#Dialog.Text", Message.translation(this.dialogOptions.getDialogKey()));
var3.addEventBinding(CustomUIEventBindingType.Activating, "#CloseButton");
}
class="kw">public void handleDataEvent(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull DialogPage.DialogPageEventData var3) {
Player var4 = var2.getComponent(var1, Player.getComponentType());
if (var4 != null) {
var4.getPageManager().setPage(var1, var2, Page.None);
}
}
class="kw">public class="kw">static class DialogPageEventData {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<DialogPage.DialogPageEventData> CODEC = BuilderCodec.builder(
DialogPage.DialogPageEventData.class, DialogPage.DialogPageEventData::new
)
.build();
class="kw">public DialogPageEventData() {
}
}
}