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());
}
}
}
}
}