{ \
ImGui::Text(name); \
ImGui::SliderFloat2("Max ##begin" name, maxParticle.##value##Begin.data(), minVal, maxVal); \
maxParticle.##value = maxParticle.##value##Begin; \
if (value##Randomize) \
{ \
ImGui::SliderFloat2("Min ##begin" name, minParticle.##value##Begin.data(), minVal, maxVal); \
minParticle.##value = minParticle.##value##Begin; \
} \
ImGui::Checkbox("randomize##" name, &##value##Randomize); \
\
ImGui::Checkbox("Changes ##" #value, &maxParticle.##value##Changes); \
if (maxParticle.##value##Changes) \
{ \
ImGui::Text("Ending" #value); \
ImGui::SliderFloat2("Max ##end" name, maxParticle.##value##End.data(), minVal, maxVal); \
if (value##Randomize) \
{ \
ImGui::SliderFloat2("Min ##end" name, minParticle.##value##End.data(), minVal, maxVal); \
} \
ImGui::Bezier(name " Curve", maxParticle.##value##Curve.data()); \
} \
}
Macro for adjusting variables with a bezier curve.