载入中...
搜索中...
未找到
Particles.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Module.h"
6#include "common/Time.h"
8
9#include <string>
10
11namespace eve::graphics {
12class Graphics;
13}
14
15namespace eve::particles {
16
17class ParticleEffect;
18
29public:
32 Particles();
34 ~Particles() override;
35
37 ParticleEmitter *newEmitter(int bufferSize = 1000);
39 ParticleEmitter *newEmitterFromFile(const std::string &path);
41 ParticleEffect* newEffectFromText(const std::string& json);
43 ParticleEffect* newEffectFromFile(const std::string& path);
45 std::string getLastEffectError() const { return lastEffectError_; }
46
48 [[nodiscard]] eve::Result<void> advance(const eve::SimulationStep& step);
50 void update(float dt);
52 void render(graphics::Graphics *gfx);
54 int pollConfigs();
55
57 int getEmitterCount() const;
58
60 void setBudget(int maxParticles, int maxSimulatedEmitters);
62 int getMaxParticles() const;
64 int getMaxSimulatedEmitters() const;
66 void setQualityLevel(int quality);
68 int getQualityLevel() const;
69
71 int getLastSimulatedEmitters() const;
73 int getLastCulledEmitters() const;
75 int getLastBudgetSkippedEmitters() const;
77 int getLastParticleCount() const;
79 int getLastSpawnedParticles() const;
81 int getLastDroppedSpawns() const;
83 int getLastGpuResidentEmitters() const;
85 int getLastGpuResidentParticles() const;
87 int getLastRenderedParticles() const;
89 float getLastSimulationMs() const;
91 float getLastRenderMs() const;
92
93private:
94 std::string lastEffectError_;
95};
96
97} // namespace eve::particles
#define EVENGINE_API_DOMAINS
Definition Export.h:110
std::string path
Definition PlayHost.cpp:110
Common time values and an injectable deterministic simulation clock.
float step
Definition TreeMesh.cpp:314
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Runtime instance of a versioned, multi-emitter particle effect asset.
ECS emitter entity. Script configures components; ParticleSimSystem / ParticleRenderSystem drive per-...
Particles module — factory + script binding. Per-frame: scheduler step → config reload → ParticleSimS...
Definition Particles.h:28
std::string getLastEffectError() const
Return the latest effect asset parse or load error.
Definition Particles.h:45
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
One deterministic fixed-step emitted by SimulationClock.
Definition Time.h:158