ParticleDescription * ParticleEditor::GetSelectedEmitterState() { ParticleEmitter* emitter = GetSelectedEmitter(); auto& states = emitter->GetStates(); if(state_index_ < states.size()) { return & states[state_index_]; } return nullptr; }
void ParticleEditor::SelectEmitterState(size_t index) { if(state_index_ == index) { return; } ParticleEmitter* emitter = GetSelectedEmitter(); state_index_ = index; state_index_ = clamp(state_index_, (size_t) 0, emitter->GetStates().size() - 1); refresh_state_ui(); }