Dynamo-Blocs (DB)
Économie du jeu : DBManager pour l'affichage temps réel et BankSystemCore pour le bilan final et la persistance des gains.
Le dossier Commons/DBManagement/ gère la monnaie du jeu : les Dynamo-Blocs (DB). L’architecture sépare l’affichage temps réel de la logique de bilan.
DBManager — distributeur visuel
Script statique utilisé pendant que le joueur navigue ou joue. Ajoute des DB en mémoire vive (PlayerData.PlayerDB) et déclenche les événements visuels associés.
| Méthode | Description |
|---|---|
AddDynamoBloc(int amount, bool isAudioSfx) | Ajoute l’argent et déclenche OnDynamoBlockAdded — l’événement qui anime les chiffres défilants et le bruitage. |
AddInstantDynamoBloc(int amount) | Ajoute l’argent sans déclencher l’événement. Utile pour initialiser une valeur au démarrage sans animation. |
BankSystemCore — logique de bilan
Script statique appelé à la fin d’une activité. Contient toutes les règles mathématiques et s’assure que les gains sont répartis et sauvegardés dans tous les historiques (session, journée, global).
Taux internes
| Variable | Valeur | Signification |
|---|---|---|
_DBSecondAP | 1 | 1 seconde d’activité physique = 1 DB |
_DBLevel | 100 | Terminer un niveau rapporte 100 DB |
_DBBatteryComplete | 150 | Remplir l’objectif de batterie du jour donne un bonus de 150 DB |
_DBSupercharge | 5 | Bonus additionnel pour chaque seconde au-delà de l’objectif |
Méthodes clés
| Méthode | Description |
|---|---|
AddDB(int db) | Sauvegarde profonde : injecte les gains dans la cagnotte du Jour (DailyDB), la cagnotte Totale (GlobalDB) et, pour un enseignant, la cagnotte de la Session. |
CanBuy(int db) / RemoveDB(int db) | Vérifie si le solde est suffisant (PlayerData.PlayerDB >= db) avant d’autoriser un achat, puis déduit et sauvegarde. |
AddDBBySecondsOfActivity(int seconds) | Multiplie le temps joué par _DBSecondAP pour un salaire proportionnel à l’effort. |
AddDBGlobal(...) | Facture finale appelée par le GameManager en fin de partie. Prend le temps, le niveau et l’état de la batterie, additionne tout et envoie l’argent au joueur. |