DialogPage class

Пакет: com.hypixel.hytale.builtin.adventure.objectives

Файл: com/hypixel/hytale/builtin/adventure/objectives/DialogPage.java

extends: InteractiveCustomUIPage<DialogPage.DialogPageEventData>

Поля (2)

МодификаторыТипИмя
public static final BuilderCodec<DialogPage.DialogPageEventData> CODEC
Player var4

Методы (4)

МодификаторыВозвратСигнатура
public DialogPageEventDatapublic DialogPageEventData()
public void handleDataEventvoid handleDataEvent(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull DialogPage.DialogPageEventData var3)
if if(var4 != null)
abstract super super(var1, CustomPageLifetime.CanDismissOrCloseThroughInteraction, 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() {
      }
   }
}