16class CameraShakeComponent {
20 ::ll::TypedStorage<8, 24, ::std::vector<::CameraShakeEvent>> mShakeEvents;
21 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SimplexNoise>> xAxisNoise;
22 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SimplexNoise>> yAxisNoise;
23 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SimplexNoise>> zAxisNoise;
24 ::ll::TypedStorage<8, 8, double> mLastUpdatedTime;
25 ::ll::TypedStorage<4, 4, float> mNoiseTime;
26 ::ll::TypedStorage<4, 4, float> mShakeIntensity;
27 ::ll::TypedStorage<4, 4, float> mDecayRate;
28 ::ll::TypedStorage<1, 1, ::CameraShakeType> mShakeType;
29 ::ll::TypedStorage<1, 1, bool> mWasShaking;
36 CameraShakeComponent& operator=(CameraShakeComponent
const&);
37 CameraShakeComponent(CameraShakeComponent
const&);
38 CameraShakeComponent();
45 MCFOLD
float getDecayRate()
const;
47 MCAPI
double getLastUpdateTime()
const;
49 MCFOLD
float getNoiseTime()
const;
51 MCFOLD ::std::vector<::CameraShakeEvent>& getShakeEventQueue();
53 MCFOLD
float getShakeIntensity()
const;
55 MCFOLD ::CameraShakeType getShakeType()
const;
57 MCAPI ::Vec3 getShakeVector(
float noiseMultiplier,
float frequency,
float amplitude)
const;
59 MCAPI
void initialize(
::Random& random);
61 MCAPI ::CameraShakeComponent& operator=(::CameraShakeComponent&&);
63 MCAPI
bool queueShakeEvent(
float intensity,
float duration);
65 MCAPI
void setLastUpdateTime(
double newSeconds);
67 MCFOLD
void setNoiseTime(
float noiseTime);
69 MCFOLD
void setShakeIntensity(
float intensity);
71 MCFOLD
void setShakeType(::CameraShakeType shakeType);
73 MCAPI
bool shouldShake()
const;
75 MCAPI
void updateShakeNoise(
::Random& random);
82 MCAPI
static float getMaxIntensity();