LeviLamina
Loading...
Searching...
No Matches
ICameraAPI.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/shared_types/legacy/actor/ActorLocation.h"
8
9// auto generated forward declare list
10// clang-format off
11class EntityContext;
12class EntityRegistry;
13class Vec2;
14class Vec3;
15// clang-format on
16
18public:
19 // ICameraAPI inner types declare
20 // clang-format off
21 struct CameraMovementData;
22 struct ShakeParameters;
23 // clang-format on
24
25 // ICameraAPI inner types define
26 enum class CameraMovementSpeed : int {
27 Fast = 0,
28 Slow = 1,
29 };
30
31 struct CameraMovementData {
32 public:
33 // member variables
34 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 CameraMovementData& operator=(CameraMovementData const&);
42 CameraMovementData(CameraMovementData const&);
43 CameraMovementData();
44 };
45
46 struct ShakeParameters {
47 public:
48 // member variables
49 // NOLINTBEGIN
52 // NOLINTEND
53
54 public:
55 // prevent constructor by default
56 ShakeParameters& operator=(ShakeParameters const&);
57 ShakeParameters(ShakeParameters const&);
58 ShakeParameters();
59 };
60
61public:
62 // virtual functions
63 // NOLINTBEGIN
64 virtual ~ICameraAPI() = default;
65
66 virtual ::std::optional<::Vec3>
67 tryGetActorRelativeLocation(::WeakRef<::EntityContext> const, ::SharedTypes::Legacy::ActorLocation) const = 0;
68
69 virtual ::std::optional<::Vec3> tryGetActorInterpolatedPosition(::WeakRef<::EntityContext>, float) const = 0;
70
71 virtual ::std::optional<::Vec2> tryGetActorRotation(::WeakRef<::EntityContext const> const) const = 0;
72
73 virtual ::std::optional<::Vec3> tryGetActorPositionDelta(::WeakRef<::EntityContext>) const = 0;
74
75 virtual ::std::optional<::ICameraAPI::ShakeParameters>
76 tryGetShakeParameters(::WeakRef<::EntityContext>, float, float, float) const = 0;
77
78 virtual ::std::optional<float> tryGetFOV() const = 0;
79
80 virtual ::ICameraAPI::CameraMovementData getCameraMovementVector() const = 0;
81
82 virtual float getSecondsSinceProgramStart() const = 0;
83
84 virtual ::WeakRef<::EntityContext> getDefaultCameraTarget() const = 0;
85
86 virtual ::WeakRef<::EntityContext> getWeakEntity(int64) const = 0;
87
88 virtual ::WeakRef<::EntityRegistry> getRegistryWeakEntity_DONOTUSE() const = 0;
89
90 virtual float getFrameAlpha() const = 0;
91
92 virtual ::glm::vec2 getViewportSize() const = 0;
93
94 virtual ::std::optional<::Vec3> clip(::glm::vec3 const&, ::glm::vec3 const&) = 0;
95
96 virtual bool isInWall(::Vec3 const&) const = 0;
97
98 virtual bool isAlive(::WeakRef<::EntityContext> const) const = 0;
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104
105 // NOLINTEND
106};
Definition EntityContext.h:16
Definition EntityRegistry.h:11
Definition ICameraAPI.h:17
Definition Vec2.h:5
Definition Vec3.h:10
Definition WeakRef.h:8
Definition ICameraAPI.h:31
Definition ICameraAPI.h:46
Definition Alias.h:14