16auto internal_m2n_particle_emitter_get_enabled(entt::entity
id) ->
bool
20 return comp->is_enabled();
25void internal_m2n_particle_emitter_set_enabled(entt::entity
id,
bool enabled)
33auto internal_m2n_particle_emitter_get_max_particles(entt::entity
id) -> uint32_t
37 return comp->get_max_particles();
42void internal_m2n_particle_emitter_set_max_particles(entt::entity
id, uint32_t max_particles)
46 comp->set_max_particles(max_particles);
50auto internal_m2n_particle_emitter_get_shape(entt::entity
id) ->
int
54 return static_cast<int>(comp->get_shape());
59void internal_m2n_particle_emitter_set_shape(entt::entity
id,
int shape)
67auto internal_m2n_particle_emitter_get_direction(entt::entity
id) ->
int
71 return static_cast<int>(comp->get_direction());
76void internal_m2n_particle_emitter_set_direction(entt::entity
id,
int direction)
84auto internal_m2n_particle_emitter_get_gravity_scale(entt::entity
id) ->
float
88 return comp->get_gravity_scale();
93void internal_m2n_particle_emitter_set_gravity_scale(entt::entity
id,
float scale)
97 comp->set_gravity_scale(
scale);
101auto internal_m2n_particle_emitter_get_emission_rate(entt::entity
id) ->
float
105 return comp->get_emission_rate();
110void internal_m2n_particle_emitter_set_emission_rate(entt::entity
id,
float rate)
114 comp->set_emission_rate(rate);
118auto internal_m2n_particle_emitter_get_temporal_motion(entt::entity
id) ->
float
122 return comp->get_temporal_motion();
127void internal_m2n_particle_emitter_set_temporal_motion(entt::entity
id,
float motion)
131 comp->set_temporal_motion(motion);
135auto internal_m2n_particle_emitter_get_velocity_damping(entt::entity
id) ->
float
139 return comp->get_velocity_damping();
144void internal_m2n_particle_emitter_set_velocity_damping(entt::entity
id,
float damping)
148 comp->set_velocity_damping(damping);
152auto internal_m2n_particle_emitter_get_opacity(entt::entity
id) ->
float
156 return comp->get_opacity();
161void internal_m2n_particle_emitter_set_opacity(entt::entity
id,
float opacity)
165 comp->set_opacity(opacity);
169auto internal_m2n_particle_emitter_get_force_over_lifetime(entt::entity
id) -> math::vec3
173 return comp->get_force_over_lifetime();
175 return math::vec3{0.0f, 0.0f, 0.0f};
178void internal_m2n_particle_emitter_set_force_over_lifetime(entt::entity
id,
const math::vec3&
force)
182 comp->set_force_over_lifetime(
force);
186auto internal_m2n_particle_emitter_get_emission_shape_scale(entt::entity
id) -> math::vec3
190 return comp->get_emission_shape_scale();
192 return math::vec3{1.0f, 1.0f, 1.0f};
195void internal_m2n_particle_emitter_set_emission_shape_scale(entt::entity
id,
const math::vec3&
scale)
199 comp->set_emission_shape_scale(
scale);
203auto internal_m2n_particle_emitter_get_emission_lifetime(entt::entity
id) ->
float
207 return comp->get_emission_lifetime().count();
212void internal_m2n_particle_emitter_set_emission_lifetime(entt::entity
id,
float lifetime)
216 comp->set_emission_lifetime(std::chrono::duration<float>(lifetime));
220auto internal_m2n_particle_emitter_get_lifetime(entt::entity
id) ->
float
224 return comp->get_lifetime().count();
229void internal_m2n_particle_emitter_set_lifetime(entt::entity
id,
float lifetime)
233 comp->set_lifetime(std::chrono::duration<float>(lifetime));
237auto internal_m2n_particle_emitter_get_position_easing(entt::entity
id) ->
int
241 return static_cast<int>(comp->get_position_easing());
246void internal_m2n_particle_emitter_set_position_easing(entt::entity
id,
int easing)
250 comp->set_position_easing(
static_cast<bx::Easing::Enum
>(easing));
254auto internal_m2n_particle_emitter_get_num_particles(entt::entity
id) -> uint32_t
258 return comp->get_num_particles();
263auto internal_m2n_particle_emitter_is_playing(entt::entity
id) ->
bool
267 return comp->is_playing();
272auto internal_m2n_particle_emitter_is_paused(entt::entity
id) ->
bool
276 return comp->is_paused();
281auto internal_m2n_particle_emitter_get_texture(entt::entity
id) -> hpp::uuid
285 return comp->get_texture().uid();
290void internal_m2n_particle_emitter_set_texture(entt::entity
id,
const hpp::uuid& texture)
295 auto& am = ctx.get_cached<asset_manager>();
297 comp->set_texture(
handle);
301void internal_m2n_particle_emitter_play(entt::entity
id)
309void internal_m2n_particle_emitter_stop(entt::entity
id)
317void internal_m2n_particle_emitter_stop_and_reset(entt::entity
id)
321 comp->stop_and_reset();
325void internal_m2n_particle_emitter_pause(entt::entity
id)
333void internal_m2n_particle_emitter_resume(entt::entity
id)
341void internal_m2n_particle_emitter_reset_emitter(entt::entity
id)
345 comp->reset_emitter();
349auto internal_m2n_particle_emitter_get_loop(entt::entity
id) ->
bool
353 return comp->is_loop();
358void internal_m2n_particle_emitter_set_loop(entt::entity
id,
bool loop)
362 comp->set_loop(loop);
366auto internal_m2n_particle_emitter_get_blend_mode(entt::entity
id) ->
int
370 return static_cast<int>(comp->get_blend_mode());
375void internal_m2n_particle_emitter_set_blend_mode(entt::entity
id,
int mode)
383auto internal_m2n_particle_emitter_get_simulation_backend(entt::entity
id) ->
int
387 return static_cast<int>(comp->get_simulation_backend());
392void internal_m2n_particle_emitter_set_simulation_backend(entt::entity
id,
int backend)
406 auto reg = dotnet::internal_call_registry(
"Unravel.Core.ParticleEmitterComponent");
407 reg.add_internal_call(
"internal_m2n_particle_emitter_get_enabled",
408 dotnet_internal_call(internal_m2n_particle_emitter_get_enabled));
409 reg.add_internal_call(
"internal_m2n_particle_emitter_set_enabled",
410 dotnet_internal_call(internal_m2n_particle_emitter_set_enabled));
411 reg.add_internal_call(
"internal_m2n_particle_emitter_get_max_particles",
412 dotnet_internal_call(internal_m2n_particle_emitter_get_max_particles));
413 reg.add_internal_call(
"internal_m2n_particle_emitter_set_max_particles",
414 dotnet_internal_call(internal_m2n_particle_emitter_set_max_particles));
415 reg.add_internal_call(
"internal_m2n_particle_emitter_get_shape",
416 dotnet_internal_call(internal_m2n_particle_emitter_get_shape));
417 reg.add_internal_call(
"internal_m2n_particle_emitter_set_shape",
418 dotnet_internal_call(internal_m2n_particle_emitter_set_shape));
419 reg.add_internal_call(
"internal_m2n_particle_emitter_get_direction",
420 dotnet_internal_call(internal_m2n_particle_emitter_get_direction));
421 reg.add_internal_call(
"internal_m2n_particle_emitter_set_direction",
422 dotnet_internal_call(internal_m2n_particle_emitter_set_direction));
423 reg.add_internal_call(
"internal_m2n_particle_emitter_get_gravity_scale",
424 dotnet_internal_call(internal_m2n_particle_emitter_get_gravity_scale));
425 reg.add_internal_call(
"internal_m2n_particle_emitter_set_gravity_scale",
426 dotnet_internal_call(internal_m2n_particle_emitter_set_gravity_scale));
427 reg.add_internal_call(
"internal_m2n_particle_emitter_get_emission_rate",
428 dotnet_internal_call(internal_m2n_particle_emitter_get_emission_rate));
429 reg.add_internal_call(
"internal_m2n_particle_emitter_set_emission_rate",
430 dotnet_internal_call(internal_m2n_particle_emitter_set_emission_rate));
431 reg.add_internal_call(
"internal_m2n_particle_emitter_get_temporal_motion",
432 dotnet_internal_call(internal_m2n_particle_emitter_get_temporal_motion));
433 reg.add_internal_call(
"internal_m2n_particle_emitter_set_temporal_motion",
434 dotnet_internal_call(internal_m2n_particle_emitter_set_temporal_motion));
435 reg.add_internal_call(
"internal_m2n_particle_emitter_get_velocity_damping",
436 dotnet_internal_call(internal_m2n_particle_emitter_get_velocity_damping));
437 reg.add_internal_call(
"internal_m2n_particle_emitter_set_velocity_damping",
438 dotnet_internal_call(internal_m2n_particle_emitter_set_velocity_damping));
439 reg.add_internal_call(
"internal_m2n_particle_emitter_get_opacity",
440 dotnet_internal_call(internal_m2n_particle_emitter_get_opacity));
441 reg.add_internal_call(
"internal_m2n_particle_emitter_set_opacity",
442 dotnet_internal_call(internal_m2n_particle_emitter_set_opacity));
443 reg.add_internal_call(
"internal_m2n_particle_emitter_get_force_over_lifetime",
444 dotnet_internal_call(internal_m2n_particle_emitter_get_force_over_lifetime));
445 reg.add_internal_call(
"internal_m2n_particle_emitter_set_force_over_lifetime",
446 dotnet_internal_call(internal_m2n_particle_emitter_set_force_over_lifetime));
447 reg.add_internal_call(
"internal_m2n_particle_emitter_get_emission_shape_scale",
448 dotnet_internal_call(internal_m2n_particle_emitter_get_emission_shape_scale));
449 reg.add_internal_call(
"internal_m2n_particle_emitter_set_emission_shape_scale",
450 dotnet_internal_call(internal_m2n_particle_emitter_set_emission_shape_scale));
451 reg.add_internal_call(
"internal_m2n_particle_emitter_get_emission_lifetime",
452 dotnet_internal_call(internal_m2n_particle_emitter_get_emission_lifetime));
453 reg.add_internal_call(
"internal_m2n_particle_emitter_set_emission_lifetime",
454 dotnet_internal_call(internal_m2n_particle_emitter_set_emission_lifetime));
455 reg.add_internal_call(
"internal_m2n_particle_emitter_get_lifetime",
456 dotnet_internal_call(internal_m2n_particle_emitter_get_lifetime));
457 reg.add_internal_call(
"internal_m2n_particle_emitter_set_lifetime",
458 dotnet_internal_call(internal_m2n_particle_emitter_set_lifetime));
459 reg.add_internal_call(
"internal_m2n_particle_emitter_get_position_easing",
460 dotnet_internal_call(internal_m2n_particle_emitter_get_position_easing));
461 reg.add_internal_call(
"internal_m2n_particle_emitter_set_position_easing",
462 dotnet_internal_call(internal_m2n_particle_emitter_set_position_easing));
463 reg.add_internal_call(
"internal_m2n_particle_emitter_get_num_particles",
464 dotnet_internal_call(internal_m2n_particle_emitter_get_num_particles));
465 reg.add_internal_call(
"internal_m2n_particle_emitter_is_playing",
466 dotnet_internal_call(internal_m2n_particle_emitter_is_playing));
467 reg.add_internal_call(
"internal_m2n_particle_emitter_is_paused",
468 dotnet_internal_call(internal_m2n_particle_emitter_is_paused));
469 reg.add_internal_call(
"internal_m2n_particle_emitter_get_texture",
470 dotnet_internal_call(internal_m2n_particle_emitter_get_texture));
471 reg.add_internal_call(
"internal_m2n_particle_emitter_set_texture",
472 dotnet_internal_call(internal_m2n_particle_emitter_set_texture));
473 reg.add_internal_call(
"internal_m2n_particle_emitter_play",
474 dotnet_internal_call(internal_m2n_particle_emitter_play));
475 reg.add_internal_call(
"internal_m2n_particle_emitter_stop",
476 dotnet_internal_call(internal_m2n_particle_emitter_stop));
477 reg.add_internal_call(
"internal_m2n_particle_emitter_stop_and_reset",
478 dotnet_internal_call(internal_m2n_particle_emitter_stop_and_reset));
479 reg.add_internal_call(
"internal_m2n_particle_emitter_pause",
480 dotnet_internal_call(internal_m2n_particle_emitter_pause));
481 reg.add_internal_call(
"internal_m2n_particle_emitter_resume",
482 dotnet_internal_call(internal_m2n_particle_emitter_resume));
483 reg.add_internal_call(
"internal_m2n_particle_emitter_reset_emitter",
484 dotnet_internal_call(internal_m2n_particle_emitter_reset_emitter));
485 reg.add_internal_call(
"internal_m2n_particle_emitter_get_loop",
486 dotnet_internal_call(internal_m2n_particle_emitter_get_loop));
487 reg.add_internal_call(
"internal_m2n_particle_emitter_set_loop",
488 dotnet_internal_call(internal_m2n_particle_emitter_set_loop));
489 reg.add_internal_call(
"internal_m2n_particle_emitter_get_blend_mode",
490 dotnet_internal_call(internal_m2n_particle_emitter_get_blend_mode));
491 reg.add_internal_call(
"internal_m2n_particle_emitter_set_blend_mode",
492 dotnet_internal_call(internal_m2n_particle_emitter_set_blend_mode));
493 reg.add_internal_call(
"internal_m2n_particle_emitter_get_simulation_backend",
494 dotnet_internal_call(internal_m2n_particle_emitter_get_simulation_backend));
495 reg.add_internal_call(
"internal_m2n_particle_emitter_set_simulation_backend",
496 dotnet_internal_call(internal_m2n_particle_emitter_set_simulation_backend));
#define APPLOG_TRACE(...)
blend_mode
Blend mode. Ordinals match legacy BlendMode.
emitter_direction
Initial emission direction. Ordinals match legacy EmitterDirection.
particle_sim_backend
Selects CPU vs resident-GPU simulation backend.
emitter_shape
Emission volume shape. Ordinals match legacy EmitterShape for content compatibility.
auto safe_get_component(entt::entity id) -> T *
void register_particle_emitter_component_script_bindings()
std::vector< float > scale
static auto context() -> rtti::context &