CHEST SYSTEM
Tech Stack: Unity2D, C#
⚙️ Features:
-
Chest Costs: Each chest has a price, and the system checks if you have enough COINS or GEMS to unlock it.
-
Unlock Queue: Chests automatically queue up for unlocking, and the next one unlocks when the timer hits zero.
-
Instant Unlock: You can use GEMS to instantly unlock a chest without waiting for the timer.
-
Undo Option: Spent GEMS by mistake? The Undo button lets you revert that action!

Design Patterns Used :
01.
ScriptableObjects
Used for configuring different chest types (Common, Rare, Legendary).
02.
MVC Pattern
Structured the system using the MVC design pattern.
03.
State Pattern
Created a custom state machine to manage chest states (LOCKED, QUEUED, UNLOCKING, OPEN).
04.
Command Pattern
Implemented an Undo feature using a Command Invoker.
05.
Service Locator
Integrated services like ChestService and AudioService through a Service Locator for efficient communication.