MCPcopy Create free account
hub / github.com/defold/defold / SetEmitterState

Function SetEmitterState

engine/particle/src/particle.cpp:292–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

290 }
291
292 void SetEmitterState(Instance* instance, Emitter* emitter, EmitterState state)
293 {
294 EmitterState old_emitter_state = emitter->m_State;
295 emitter->m_State = state;
296
297 if(state != old_emitter_state && instance->m_EmitterStateChangedData.m_UserData != 0x0)
298 {
299 if(state == EMITTER_STATE_PRESPAWN)
300 {
301 instance->m_NumAwakeEmitters += 1;
302 }
303 else if(state == EMITTER_STATE_SLEEPING)
304 {
305 instance->m_NumAwakeEmitters -= 1;
306 }
307
308 instance->m_EmitterStateChangedData.m_StateChangedCallback(
309 instance->m_NumAwakeEmitters,
310 emitter->m_Id,
311 emitter->m_State,
312 instance->m_EmitterStateChangedData.m_UserData);
313 }
314 }
315
316 static bool IsSleeping(Emitter* emitter);
317 static void UpdateEmitter(Prototype* prototype, Instance* instance, EmitterPrototype* emitter_prototype, Emitter* emitter, dmParticleDDF::Emitter* emitter_ddf, float dt);

Callers 3

StartEmitterFunction · 0.85
StopEmitterFunction · 0.85
UpdateEmitterStateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected