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> tryGetActorInterpolatedPosition(::WeakRef<::EntityContext>,
float)
const = 0;
62 virtual ::std::optional<::Vec2> tryGetActorRotation(::WeakRef<::EntityContext const>
const actorRef)
const = 0;
64 virtual ::std::optional<::Vec3> tryGetActorPositionDelta(::WeakRef<::EntityContext>)
const = 0;
66 virtual ::std::vector<::ICameraAPI::ShakeParameters> tryGetShakeParameters(
67 ::WeakRef<::EntityContext> actorRef,
68 float noiseMultiplier,
73 virtual ::std::optional<float> tryGetFOV()
const = 0;
75 virtual ::ICameraAPI::CameraMovementData getCameraMovementVector()
const = 0;
77 virtual float getSecondsSinceProgramStart()
const = 0;
79 virtual ::WeakRef<::EntityContext> getDefaultCameraTarget()
const = 0;
81 virtual ::WeakRef<::EntityContext> getWeakEntity(int64 actorId)
const = 0;
83 virtual ::WeakRef<::EntityRegistry> getRegistryWeakEntity_DONOTUSE()
const = 0;
85 virtual float getFrameAlpha()
const = 0;
87 virtual ::glm::vec2 getViewportSize()
const = 0;
89 virtual ::std::optional<::Vec3> clip(::glm::vec3
const& A, ::glm::vec3
const& B) = 0;
91 virtual bool isInWall(::Vec3
const& pos)
const = 0;
93 virtual bool isAlive(::WeakRef<::EntityContext>
const actorRef)
const = 0;
Definition EntityContext.h:15
Definition EntityRegistry.h:10
Definition ICameraAPI.h:5
Definition ICameraAPI.h:18
Definition ICameraAPI.h:16