CameraSequenceBuilder class

Пакет: com.hypixel.hytale.server.core.modules.camera

Файл: com/hypixel/hytale/server/core/modules/camera/CameraSequenceBuilder.java

Поля (6)

МодификаторыТипИмя
final List<CameraKeyframe> keyframes
final CameraKeyframe[] var1
final byte var2
final Float var3
final Consumer var4
CameraSequencePacketHandler var4

Методы (15)

МодификаторыВозвратСигнатура
return new CameraSequenceSourcereturn new CameraSequenceSource()
public CameraSequenceBuilder addFlagCameraSequenceBuilder addFlag(byte var1)
public CameraSequenceBuilder baseFovCameraSequenceBuilder baseFov(@Nullable Float var1)
public Float baseFovpublic Float baseFov()
public byte flagspublic byte flags()
if if(var4 != null)
if if(var4 != null)
public CameraSequenceBuilder keyframeCameraSequenceBuilder keyframe(@Nonnull Vector3d var1, @Nonnull Rotation3f var2, float var3, @Nonnull EasingType var4)
public CameraSequenceBuilder keyframeCameraSequenceBuilder keyframe(@Nonnull CameraKeyframeBuilder var1)
public int keyframeCountpublic int keyframeCount()
public CameraSequenceBuilder keyframeLookingAtCameraSequenceBuilder keyframeLookingAt(@Nonnull Vector3d var1, @Nonnull Vector3d var2, float var3, @Nonnull EasingType var4)
public CameraSequenceBuilder onCompleteCameraSequenceBuilder onComplete(@Nullable Consumer<PlayerRef> var1)
public void onCompletepublic void onComplete(@Nonnull PlayerRef var1x)
public void sendTovoid sendTo(@Nonnull PlayerRef var1)
public void writeKeyframespublic void writeKeyframes(int var1x, int var2x, @Nonnull CameraKeyframe[] var3x)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.camera;

class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.protocol.CameraKeyframe;
class="kw">import com.hypixel.hytale.protocol.CameraSequenceFlags;
class="kw">import com.hypixel.hytale.protocol.EasingType;
class="kw">import com.hypixel.hytale.server.core.io.handlers.GenericPacketHandler;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;

class="kw">public class CameraSequenceBuilder {
   class="kw">private class="kw">final List<CameraKeyframe> keyframes = new ArrayList<>();
   class="kw">private byte flags = 0;
   @Nullable
   class="kw">private Float baseFov;
   @Nullable
   class="kw">private Consumer<PlayerRef> onComplete;

   class="kw">public CameraSequenceBuilder() {
   }

   class="kw">public CameraSequenceBuilder addFlag(byte var1) {
      this.flags = CameraSequenceFlags.with(this.flags, var1);
      class="kw">return this;
   }

   class="kw">public CameraSequenceBuilder baseFov(@Nullable Float var1) {
      this.baseFov = var1;
      class="kw">return this;
   }

   class="kw">public CameraSequenceBuilder onComplete(@Nullable Consumer<PlayerRef> var1) {
      this.onComplete = var1;
      class="kw">return this;
   }

   class="kw">public CameraSequenceBuilder keyframe(@Nonnull Vector3d var1, @Nonnull Rotation3f var2, float var3, @Nonnull EasingType var4) {
      class="kw">return this.keyframe(new CameraKeyframeBuilder(var3, var4).position(var1).look(var2));
   }

   class="kw">public CameraSequenceBuilder keyframe(@Nonnull CameraKeyframeBuilder var1) {
      this.keyframes.add(var1.build());
      class="kw">return this;
   }

   class="kw">public CameraSequenceBuilder keyframeLookingAt(@Nonnull Vector3d var1, @Nonnull Vector3d var2, float var3, @Nonnull EasingType var4) {
      class="kw">return this.keyframe(new CameraKeyframeBuilder(var3, var4).position(var1).lookAt(var2));
   }

   @Nonnull
   class="kw">public CameraSequenceSource build() {
      class="kw">final CameraKeyframe[] var1 = this.keyframes.toArray(new CameraKeyframe[0]);
      class="kw">final byte var2 = this.flags;
      class="kw">final Float var3 = this.baseFov;
      class="kw">final Consumer var4 = this.onComplete;
      class="kw">return new CameraSequenceSource() {
         @Override
         class="kw">public byte flags() {
            class="kw">return var2;
         }

         @Nullable
         @Override
         class="kw">public Float baseFov() {
            class="kw">return var3;
         }

         @Override
         class="kw">public int keyframeCount() {
            class="kw">return var1.length;
         }

         @Override
         class="kw">public void writeKeyframes(int var1x, int var2x, @Nonnull CameraKeyframe[] var3x) {
            System.arraycopy(var1, var1x, var3x, 0, var2x);
         }

         @Override
         class="kw">public void onComplete(@Nonnull PlayerRef var1x) {
            if (var4 != null) {
               var4.accept(var1x);
            }
         }
      };
   }

   class="kw">public void sendTo(@Nonnull PlayerRef var1) {
      if (!this.keyframes.isEmpty()) {
         if (var1.getPacketHandler() class="kw">instanceof GenericPacketHandler var2) {
            CameraSequencePacketHandler var4 = var2.getSubPacketHandler(CameraSequencePacketHandler.class);
            if (var4 != null) {
               var4.begin(this.build());
            }
         }
      }
   }
}