Game Programming Patterns
Observer
Exemple donné pour la gestion des succès :
- L'observer = > Classe
Achievementsqui implémente un observer, avec sa fonctiononNotifyqui reçoit tous les événements et les dispatch, par exemple vers une autre fonctionunlock(achievement) - Le sujet
- contient la liste des observers
- expose une API publique qui permet de modifier cette liste (fonctions
addObserveretremoveObserver), qui permet de contrôler qui reçoit ces notifications. - envoie les notifications
onNotifyen bouclant sur la liste des observers
- Exemple avec un "Observable physics" : classe Physics qui implémente la classe Subject, qui va ajouter des observers
physics.entityFell().addObserver(this)