Sorry for the lack of a GIF - I was still in the process of tidying up the editor so I didnāt want to show it in action while it was still a mess haha
Iāve since redesigned the whole system, so itās good that I didnāt go too far with the old one.
This new system is based off modifiers - each modifier contains a set of variables, which can be manipulated through the editor (selecting a modifier from a list generates a view that allows you to do this). A variable has a name, and a type. It can be an integer, float, string, boolean or choice and is represented in the editor by a textbox, checkbox, or combo-box. The issue with the old table view was simply that by adding more features it was becoming increasingly hard to find what you needed to get to, and slowed down the workflow considerably. Now youāre shown a list of current modifiers, and a list of available ones. Each of the views that are in the video are dynamically generated based on the variables that are in each modifier. To save from pointless memory allocation, controls are reused and saved in pools.
I also added a modifier for sine/cosine wave motion, and one to spawn particles at a random location around a circle.
Hereās a video of me designing a particle effect with the renewed new particle system editor
I donāt know why Iām getting frame rate drops like I was in the video. Java2D performance has suffered on macOS Sierra. I donāt think it likes the additive blending - it isnāt hardware supported because itās a custom AlphaComposite. My Windows 8 PC can comfortably handle heaps of particle systems.
W9x9jWphq50