23 public const AUDIO_LISTENER_TYPE_CAMERA = 0;
24 public const AUDIO_LISTENER_TYPE_PLAYER = 1;
26 public function __construct(
28 private string $parent,
29 private ?
float $xPosition,
30 private ?
float $yPosition,
31 private ?
float $zPosition,
32 private ?
float $pitch,
34 private ?
float $rotationSpeed,
35 private ?
bool $snapToTarget,
36 private ?
Vector2 $horizontalRotationLimit,
37 private ?
Vector2 $verticalRotationLimit,
38 private ?
bool $continueTargeting,
39 private ?
float $blockListeningRadius,
42 private ?
float $radius,
43 private ?
float $yawLimitMin,
44 private ?
float $yawLimitMax,
45 private ?
int $audioListenerType,
46 private ?
bool $playerEffects,
47 private ?
bool $alignTargetAndCameraForward,
49 private ?ControlScheme $controlScheme,
52 public function getName() :
string{
return $this->name; }
54 public function getParent() :
string{
return $this->parent; }
56 public function getXPosition() : ?
float{
return $this->xPosition; }
58 public function getYPosition() : ?
float{
return $this->yPosition; }
60 public function getZPosition() : ?
float{
return $this->zPosition; }
62 public function getPitch() : ?
float{
return $this->pitch; }
64 public function getYaw() : ?
float{
return $this->yaw; }
66 public function getRotationSpeed() : ?
float {
return $this->rotationSpeed; }
68 public function getSnapToTarget() : ?
bool {
return $this->snapToTarget; }
70 public function getHorizontalRotationLimit() : ?
Vector2{
return $this->horizontalRotationLimit; }
72 public function getVerticalRotationLimit() : ?
Vector2{
return $this->verticalRotationLimit; }
74 public function getContinueTargeting() : ?
bool{
return $this->continueTargeting; }
76 public function getBlockListeningRadius() : ?
float{
return $this->blockListeningRadius; }
78 public function getViewOffset() : ?
Vector2{
return $this->viewOffset; }
80 public function getEntityOffset() : ?
Vector3{
return $this->entityOffset; }
82 public function getRadius() : ?
float{
return $this->radius; }
84 public function getYawLimitMin() : ?
float{
return $this->yawLimitMin; }
86 public function getYawLimitMax() : ?
float{
return $this->yawLimitMax; }
88 public function getAudioListenerType() : ?
int{
return $this->audioListenerType; }
90 public function getPlayerEffects() : ?
bool{
return $this->playerEffects; }
92 public function getAlignTargetAndCameraForward() : ?
bool{
return $this->alignTargetAndCameraForward; }
96 public function getControlScheme() : ?ControlScheme{
return $this->controlScheme; }
120 $aimAssist = $in->
readOptional(fn() => CameraPresetAimAssist::read($in));
133 $horizontalRotationLimit,
134 $verticalRotationLimit,
136 $blockListeningRadius,
144 $alignTargetAndCameraForward,
151 $out->putString($this->name);
152 $out->putString($this->parent);
158 $out->
writeOptional($this->rotationSpeed, $out->putLFloat(...));
159 $out->
writeOptional($this->snapToTarget, $out->putBool(...));
162 $out->
writeOptional($this->continueTargeting, $out->putBool(...));
163 $out->
writeOptional($this->blockListeningRadius, $out->putLFloat(...));
167 $out->
writeOptional($this->yawLimitMin, $out->putLFloat(...));
168 $out->
writeOptional($this->yawLimitMax, $out->putLFloat(...));
169 $out->
writeOptional($this->audioListenerType, $out->putByte(...));
170 $out->
writeOptional($this->playerEffects, $out->putBool(...));
171 $out->
writeOptional($this->alignTargetAndCameraForward, $out->putBool(...));
173 $out->
writeOptional($this->controlScheme, fn(ControlScheme $v) => $out->putByte($v->value));