This is a training project using Unity's Battle Tank base artwork. In this project I have implemented various Design Patterns and have tried to maintain a SOLID, readable code.
The Patterns and principles used in this project include:
- Observer Pattern - Using Observer Pattern to create an Achievement System.
- State Machine Pattern - Using State Machine pattern to create Enemy states.
- Singleton Pattern - Using Singletons for managers or sevices.
- Object Pool Pattern - Using Object Pool Pattern to create a pool for bullets.
- Scriptable Objects - For handling data
- MVC Pattern - For separating out data, view and controller.