载入中...
搜索中...
未找到
ThunderStrike.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Result.h"
6
7#include <cstdint>
8
9namespace eve::weather {
10
13 float intensity = 1.f;
14 float radius = 300.f;
15 float volume = 1.f;
17};
18
21 bool playing = false;
22 float intensity = 0.f;
23};
24
27 float x = 0.f, y = 0.f, z = 0.f;
28 float intensity = 0.f, radius = 0.f, volume = 0.f;
30};
31
43 ThunderStrikeState& state, const ThunderStrikeSettings& settings, float playerX, float playerY, float playerZ,
44 std::uint32_t seed);
45
48
49} // namespace eve::weather
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
std::uint32_t seed
Definition PointSet.cpp:807
Move-only, checked operation results for the common layer.
TerrainThermalSettings settings
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Result< ThunderStrikeReceipt > triggerThunderStrike(ThunderStrikeState &state, const ThunderStrikeSettings &settings, float px, float py, float pz, std::uint32_t seed)
Start a Pcg-style strike around the supplied player position.
Result< void > advanceThunderStrike(ThunderStrikeState &state, float dt)
Apply Pcg's clamped Lerp(intensity,0,dt*2) decay and 0.15 stop threshold.
Deterministic strike command consumed by scene, light and audio providers.
Pcg ThunderStrike parameters independent of renderer and audio providers.
Caller-owned thunder flash state.