The following are the benefits of using the State pattern:
- Encapsulation: The State pattern allows us to implement an entity's stateful behaviors as a collection of components that can be assigned dynamically to an object when it changes states.
- Maintenance: We can easily implement new states without having to modify long conditional statements or bloated classes.
However, the State pattern does have its limitations when we use it to manage an animated character.
Here's a shortlist of potential limitations:
- Blending: In its native form, the State pattern doesn't offer a solution to blend animations. This limitation can become an issue when you want to achieve a smooth visual transition between the animated states of a character.
- Transitioning: In our implementation of the pattern, we can easily switch between states, but we are not defining the relation between them. Therefore, if we wish to define transitions between...