IStatus
MonoBehaviours that inherit IStatus will be able to add and remove status effects.
IStatus needs a public list of effects to be defined as well as the method OnStatusEffect. Here is a simple example class using that implementation:
Extensions
After inheriting, the class will now be able to call extension methods specific to the Status Effect Framework. For more information on what exactly is available see StatusManager.
Effects
The effects list will dynamically update as effects are added or removed. It is recommended to not directly add or remove using the list methods and instead only interact with it from a read only permission and the extension methods.
OnStatusEffect
The method OnStatusEffect will be called everytime there is a change to the effect list of the IStatus class. Its parameters return the updated effect and a bool of whether the effect was started or stopped. If a project requires an on screen effect UI this method would be ideal to use in tandem with public actions subscription on each StatusEffect's started and stopped event.