载入中...
搜索中...
未找到
WaterSystem.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4
5#include <cstdint>
6
7#include <glm/glm.hpp>
8
9namespace ssq {
10class Table;
11}
12
13namespace eve::graphics {
14
16enum class WaterAutoUpdateMode : std::uint8_t { Interval = 0, SceneConditions = 1 };
17
20 glm::vec3 sunColor{1.0F};
21 glm::vec3 sunDirection{0.0F};
22 float sunIntensity = 1.0F;
23 int hour = 12;
24 int minute = 0;
25 bool sunAvailable = true;
26 bool timeAvailable = false;
27};
28
37
41 float seaLevel = 25.0F;
42 float positionX = 0.0F;
43 float positionY = 25.0F;
44 float positionZ = 0.0F;
45 float refreshRemaining = 0.5F;
47 std::uint64_t refreshRevision = 0;
48 bool initialized = false;
49};
50
62 const WaterSceneConditions& scene,
63 int initialSceneCheckFrames);
64
79 const WaterSceneConditions& scene, float playerX,
80 float playerZ, float dt, int nextSceneCheckFrames);
81
90 bool regenerateReflections);
91
93void exposeWaterSystemBindings(ssq::Table& table);
94
95} // namespace eve::graphics
#define EVENGINE_API_BACKENDS
Definition Export.h:108
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
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Result< bool > advanceWaterSystem(WaterSystemState &state, const WaterSystemSettings &settings, const WaterSceneConditions &scene, float playerX, float playerZ, float dt, int nextSceneCheckFrames)
Advance infinite placement and Pcg-compatible reflection refresh scheduling.
Result< void > initializeWaterSystem(WaterSystemState &state, const WaterSystemSettings &settings, const WaterSceneConditions &scene, int initialSceneCheckFrames)
Initialize a water controller from an authored policy and current scene snapshot.
void exposeWaterSystemBindings(ssq::Table &table)
Register water-system value types and checked operations with the VM owner thread.
WaterAutoUpdateMode
Reflection refresh policy used by the caller-owned water controller.
Definition WaterSystem.h:16
Result< bool > updateWaterSeaLevel(WaterSystemState &state, float seaLevel, bool regenerateReflections)
Atomically move the water surface to a new sea level.
enum EVENGINE_API_FOUNDATION Table
OT_TABLE (editable via Runtime table APIs / ReflectedPropertyModel).
Definition Runtime.h:121
EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp
Definition ECS.h:14
Immutable scene inputs used to decide whether water reflections are stale.
Definition WaterSystem.h:19
Authored policy for Pcg-compatible water placement and reflection refresh.
Definition WaterSystem.h:30
WaterAutoUpdateMode autoUpdateMode
Definition WaterSystem.h:31
Caller-owned water-system state; contains no scene pointers or hidden clock.
Definition WaterSystem.h:39
WaterSceneConditions observed
Definition WaterSystem.h:40