FNiagaraSimulation::FNiagaraSimulation(FNiagaraEmitterProperties *InProps, ERHIFeatureLevel::Type InFeatureLevel)
	: Age(0.0f)
	, Loops(0)
	, bIsEnabled(true)
	, SpawnRemainder(0.0f)
	, CachedBounds(ForceInit)
	, EffectRenderer(nullptr)
{
	Props = InProps;

	Init();
	SetRenderModuleType(Props->RenderModuleType, InFeatureLevel);
}
FNiagaraSimulation::FNiagaraSimulation(TWeakObjectPtr<UNiagaraEmitterProperties> InProps, FNiagaraEffectInstance* InParentEffectInstance, ERHIFeatureLevel::Type InFeatureLevel)
: Age(0.0f)
, Loops(0)
, bIsEnabled(true)
, Data(FNiagaraDataSetID(*InProps->EmitterName, ENiagaraDataSetType::ParticleData))
, SpawnRemainder(0.0f)
, CachedBounds(ForceInit)
, EffectRenderer(nullptr)
, ParentEffectInstance(InParentEffectInstance)
, SpawnEventGenerator(this)
, bGenerateSpawnEvents(false)
, DeathEventGenerator(this)
, bGenerateDeathEvents(false)
{
	Props = InProps;

	Init();
	SetRenderModuleType(Props->RenderModuleType, InFeatureLevel);
}