3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/deps/minecraft_camera/CameraShakeType.h"
9#include "mc/deps/shared_types/legacy/actor/ActorLocation.h"
27 enum class CameraMovementSpeed :
int {
36 ::ll::TypedStorage<4, 12, ::Vec3> mShakeNoise;
37 ::ll::TypedStorage<1, 1, ::CameraShakeType> mShakeType;
45 ::ll::TypedStorage<4, 12, ::Vec3> mDirection;
46 ::ll::TypedStorage<4, 4, ::ICameraAPI::CameraMovementSpeed> mSpeed;
53 virtual ~ICameraAPI() =
default;
55 virtual ::std::optional<::Vec3> tryGetActorRelativeLocation(
56 ::WeakRef<::EntityContext>
const actorRef,
57 ::SharedTypes::Legacy::ActorLocation actorLoc
60 virtual ::std::optional<::Vec3>
61 tryGetActorInterpolatedPosition(::WeakRef<::EntityContext> actorRef,
float interpolationFactor)
const = 0;
63 virtual ::std::optional<::Vec2> tryGetActorRotation(::WeakRef<::EntityContext const>
const actorRef)
const = 0;
65 virtual ::std::optional<::Vec3> tryGetActorPositionDelta(::WeakRef<::EntityContext> actorRef)
const = 0;
67 virtual ::std::optional<::ICameraAPI::ShakeParameters> tryGetShakeParameters(
68 ::WeakRef<::EntityContext> actorRef,
69 float noiseMultiplier,
74 virtual ::std::optional<float> tryGetFOV()
const = 0;
76 virtual ::ICameraAPI::CameraMovementData getCameraMovementVector()
const = 0;
78 virtual float getSecondsSinceProgramStart()
const = 0;
80 virtual ::WeakRef<::EntityContext> getDefaultCameraTarget()
const = 0;
82 virtual ::WeakRef<::EntityContext> getWeakEntity(int64 actorId)
const = 0;
84 virtual ::WeakRef<::EntityRegistry> getRegistryWeakEntity_DONOTUSE()
const = 0;
86 virtual float getFrameAlpha()
const = 0;
88 virtual ::glm::vec2 getViewportSize()
const = 0;
90 virtual ::std::optional<::Vec3> clip(::glm::vec3
const& A, ::glm::vec3
const& B) = 0;
92 virtual bool isInWall(::Vec3
const& pos)
const = 0;
94 virtual bool isAlive(::WeakRef<::EntityContext>
const actorRef)
const = 0;
Definition EntityContext.h:17
Definition EntityRegistry.h:11
Definition ICameraAPI.h:5
Definition ICameraAPI.h:18
Definition ICameraAPI.h:16