Before this change, each SpawnableType had one mega-system to handle all behaviors. I don't this was a good way of handling behaviors because each singular behavior system had to run serially. Making one system for each behavior enables bevy to parallelize the behavior logic.
Remove effect behavior mega-system
Add new private systems for each EffectBehaviorType
Add EffectPlugin that contains all of the effect related ecs stuff
EffectBehaviorPlugin
SpawnEffectPlugin
Add new EffectBehaviorType, FadeOutAndDespawnAfterAnimation
Despawns effects after the animations is complete while also fading out with an exponential decay
Fix bug where full animations were not being played (sorry @LordDeatHunter 😅)
Before this change, each
SpawnableType
had one mega-system to handle all behaviors. I don't this was a good way of handling behaviors because each singular behavior system had to run serially. Making one system for each behavior enables bevy to parallelize the behavior logic.EffectBehaviorType
EffectPlugin
that contains all of the effect related ecs stuffEffectBehaviorPlugin
SpawnEffectPlugin
EffectBehaviorType
,FadeOutAndDespawnAfterAnimation