CameraManager class
Пакет: com.hypixel.hytale.server.core.entity.entities.player
Файл: com/hypixel/hytale/server/core/entity/entities/player/CameraManager.java
implements: Component<EntityStore>
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Map<MouseButtonType, MouseButtonState> |
mouseStates |
Методы (13)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
ComponentType<EntityStore, CameraManager> |
getComponentTypeComponentType<EntityStore, CameraManager> getComponentType() |
public |
Vector3i |
getLastMouseButtonPressedPositionVector3i getLastMouseButtonPressedPosition(MouseButtonType var1) |
public |
Vector3i |
getLastMouseButtonReleasedPositionVector3i getLastMouseButtonReleasedPosition(MouseButtonType var1) |
public |
Vector2dc |
getLastScreenPointVector2dc getLastScreenPoint() |
public |
Vector3i |
getLastTargetBlockVector3i getLastTargetBlock() |
public |
MouseButtonState |
getMouseButtonStateMouseButtonState getMouseButtonState(MouseButtonType var1) |
public |
void |
handleMouseButtonStatevoid handleMouseButtonState(MouseButtonType var1, MouseButtonState var2, Vector3i var3) |
|
|
if if(var2 == MouseButtonState.Pressed) |
|
|
if if(var2 == MouseButtonState.Released) |
public |
void |
resetCameravoid resetCamera(@Nonnull PlayerRef var1) |
public |
void |
setLastBlockPositionvoid setLastBlockPosition(Vector3i var1) |
public |
void |
setLastScreenPointvoid setLastScreenPoint(Vector2d var1) |
abstract |
|
this this() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity.entities.player;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.protocol.ClientCameraView;
class="kw">import com.hypixel.hytale.protocol.MouseButtonState;
class="kw">import com.hypixel.hytale.protocol.MouseButtonType;
class="kw">import com.hypixel.hytale.protocol.packets.camera.SetServerCamera;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
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 java.util.EnumMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector2d;
class="kw">import org.joml.Vector2dc;
class="kw">import org.joml.Vector3i;
class="kw">public class CameraManager class="kw">implements Component<EntityStore> {
class="kw">private class="kw">final Map<MouseButtonType, MouseButtonState> mouseStates = new EnumMap<>(MouseButtonType.class);
class="kw">private class="kw">final Map<MouseButtonType, Vector3i> mousePressedPosition = new EnumMap<>(MouseButtonType.class);
class="kw">private class="kw">final Map<MouseButtonType, Vector3i> mouseReleasedPosition = new EnumMap<>(MouseButtonType.class);
class="kw">private Vector2d lastScreenPoint = new Vector2d();
class="kw">private Vector3i lastTargetBlock;
class="kw">public class="kw">static ComponentType<EntityStore, CameraManager> getComponentType() {
class="kw">return EntityModule.get().getCameraManagerComponentType();
}
class="kw">public CameraManager() {
}
class="kw">public CameraManager(@Nonnull CameraManager var1) {
this();
this.lastScreenPoint = var1.lastScreenPoint;
this.lastTargetBlock = var1.lastTargetBlock;
}
class="kw">public void resetCamera(@Nonnull PlayerRef var1) {
var1.getPacketHandler().writeNoCache(new SetServerCamera(ClientCameraView.Custom, false, null));
this.mouseStates.clear();
}
class="kw">public void handleMouseButtonState(MouseButtonType var1, MouseButtonState var2, Vector3i var3) {
this.mouseStates.put(var1, var2);
if (var2 == MouseButtonState.Pressed) {
this.mousePressedPosition.put(var1, var3);
}
if (var2 == MouseButtonState.Released) {
this.mouseReleasedPosition.put(var1, var3);
}
}
class="kw">public MouseButtonState getMouseButtonState(MouseButtonType var1) {
class="kw">return this.mouseStates.getOrDefault(var1, MouseButtonState.Released);
}
class="kw">public Vector3i getLastMouseButtonPressedPosition(MouseButtonType var1) {
class="kw">return this.mousePressedPosition.get(var1);
}
class="kw">public Vector3i getLastMouseButtonReleasedPosition(MouseButtonType var1) {
class="kw">return this.mouseReleasedPosition.get(var1);
}
class="kw">public void setLastScreenPoint(Vector2d var1) {
this.lastScreenPoint.set(var1);
}
class="kw">public Vector2dc getLastScreenPoint() {
class="kw">return this.lastScreenPoint;
}
class="kw">public void setLastBlockPosition(Vector3i var1) {
this.lastTargetBlock = var1;
}
class="kw">public Vector3i getLastTargetBlock() {
class="kw">return this.lastTargetBlock;
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
class="kw">return new CameraManager(this);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "CameraManager{mouseStates="
+ this.mouseStates
+ ", mousePressedPosition="
+ this.mousePressedPosition
+ ", mouseReleasedPosition="
+ this.mouseReleasedPosition
+ ", lastScreenPoint="
+ this.lastScreenPoint
+ ", lastTargetBlock="
+ this.lastTargetBlock
+ "}";
}
}