a sleek shop and inventory system designed with SOLID principles, KISS, and DRY coding practices!
🛒 Dive into the world of game development with this project, where players can browse a variety of items in a visually appealing shop interface. With just a few clicks, they can purchase their favourite items, specifying quantity and ensuring they have enough funds and inventory space.
🧩 Leveraging the Flyweight Design Pattern, all item data, tags, and types are efficiently managed using scriptable objects organized within a container scriptable object. This optimizes memory usage and enhances performance, providing a seamless gaming experience.
🔄 Following the Model-View-Controller architecture, our project is neatly organized into components: ShopService, ShopModel, ShopController, ShopView, InventoryService, InventoryModel, InventoryController, and InventoryView. This separation of concerns ensures code maintainability and scalability.
👀 Additionally, we implement the Observer Pattern to create a centralized event system, allowing different classes to listen for or trigger events of generic types. This enhances flexibility and facilitates communication between various components of the system.
🚀 With clean and readable code, thoughtful design patterns, and a user-friendly interface, this project showcases the power of efficient game development practices. Get inspired and level up your game projects with this robust shop and inventory system!
- Flyweight pattern
- Model-View-Controller
- Observer pattern


