载入中...
搜索中...
未找到
ParticleEmitter.h 文件参考
#include "common/Export.h"
#include "common/ECS.h"
#include "common/RenderTypes.h"
#include "common/Time.h"
#include "particles/ParticleCurve.h"
#include <algorithm>
#include <cstdint>
#include <random>
#include <string>
#include <unordered_map>
#include <vector>

浏览源代码.

类

struct  eve::particles::Particle
 Single live particle (CPU simulation). 更多...
 
class  eve::particles::ParticleEmitter
 ECS emitter entity. Script configures components; ParticleSimSystem / ParticleRenderSystem drive per-frame update & draw. 更多...
 
struct  eve::particles::ParticleEmitter::Config
 Config public API. 更多...
 
struct  eve::particles::ParticleEmitter::Config::Burst
 Timed burst emission (fired once while the emitter is active). 更多...
 
struct  eve::particles::ParticleEmitter::Config::ParameterBinding
 ParameterBinding public API. 更多...
 
struct  eve::particles::ParticleEmitter::Config::ForceField
 Radial attract/repel force fields (strength > 0 attract, < 0 repel). 更多...
 
struct  eve::particles::ParticleEmitter::Config::LightCfg
 Emitter-level 2D light emission (pooled Light2D entities). 更多...
 
struct  eve::particles::ParticleEmitter::Config::SubEmitter
 Script-linked sub-emitters (birth / death / collision triggers). 更多...
 
struct  eve::particles::ParticleEmitter::Sim
 
struct  eve::particles::ParticleEmitter::Draw
 
struct  eve::particles::ParticleEmitter::Resource
 Bound config file for hot reload (empty path = unbound). 更多...
 
struct  eve::particles::ParticleEmitter::Attach
 Optional bone attachment. When enabled, syncAttach() writes Config.x/y (and optionally direction) from a live skeleton each frame. Particles remain 2D; 3D bone XYZ is projected via plane + scale. 更多...
 
struct  eve::particles::ParticleEmitter::SkinSource
 Optional skinned-mesh surface source. When enabled, newly spawned particles sample random (optionally bone-filtered) skinned vertices. 更多...
 
struct  eve::particles::ParticleEmitter::Lights
 Pooled Light2D entities driven by ParticleLightSystem (lights.enabled). 更多...
 
struct  eve::particles::ParticleEmitter::GpuSim
 Backend-owned GPU-resident simulation state and delayed CPU counters. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::graphics
 卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局参数。 数据模型与渲染/交互逻辑见 CardTypes.h。
 
namespace  eve::animation
 
namespace  eve::ik
 
namespace  eve::particles
 

类型定义

using eve::particles::WorldCollisionFn = bool(*)(float x, float y, float radius, float &nx, float &ny)
 World collision query used by emitters with worldCollision enabled.
 

函数

bool eve::particles::spawnParticle (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim)
 Spawn particle.
 
bool eve::particles::spawnParticleAt (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim, float x, float y)
 Spawn particle at.
 
void eve::particles::stepEmitterSim (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim, float dt)
 Step emitter sim.
 
EVENGINE_API_DOMAINS float eve::particles::advanceEmitterSim (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim, float dt)
 Apply playback speed and optional bounded fixed stepping before simulation.
 
EVENGINE_API_DOMAINS eve::Result< void > eve::particles::advanceEmitterSim (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim, const eve::SimulationStep &step)
 Advance with scheduler-provided Duration/Tick; no local playback scaling.
 
void eve::particles::setWorldCollisionResolver (WorldCollisionFn fn)
 Sets the world collision resolver.
 
WorldCollisionFn eve::particles::getWorldCollisionResolver ()
 Returns the world collision resolver.
 
void eve::particles::syncEmitterSources (ParticleEmitter::Config &cfg, ParticleEmitter::Sim &sim, ParticleEmitter::Attach &attach, ParticleEmitter::SkinSource &skinSrc)
 Sync bone attach + refresh skin cache; call before stepEmitterSim when using Attach/SkinSource.
 
bool eve::particles::sampleSkinSpawn (ParticleEmitter::SkinSource &skinSrc, ParticleEmitter::Sim &sim, float &outX, float &outY)
 Sample skin spawn.