Bonsoir tout le monde,
je suis confronté actuellement à un petit problème de conception sur lequel j'aimerais avoir votre avis.
- Dans ma fenêtre principale, je récupère des événements Windows via des callback comme LowLevelMouseProc.
- Par ailleurs, j'ai un singleton ControlerManager dans lequel je possède notamment les objets ControlerCamera (envoi des infos à un serveur) ou encore ControlerEvents (envoi au serveur des infos souris).
- J'utilise alors les objets du singleton Manager pour faire des appels dans les conditions des callbacks windows en effectuant par exemple :
ControlerManager::getInstance()->getControlerCamera //...
- Dans ces appels, les événements et les infos de la souris récupérés peuvent :
1. Soit être utilisés pour le ControlerCamera et le ControlerEvents en même temps comme wheel event ou encore move event.
2. Soit être utilisés que par l'un des deux controlers. Le ControlerCamera récupère par exemple le clic droit souris contrairement au ControlerEvents.
Le problème que je rencontre est que pour certaines conditions des callbacks Windows, comme pour un déplacement souris, j'ai besoin de récupérer les infos à la fois pour mon ControlerCamera et pour mon ControlerEvents. Je fais donc deux envois des infos (un pour chaque objet) pour ensuite faire le traitement voulu (distincts entre les deux) dans l'objet voulu.
Comment je pourrais faire pour avoir quelque chose de plus optimal ?
Peut être créer un singleton EventManager qui met en commun tous les infos des events et les redistribues après via des accés "get" aux objets voulus ?
Je vous remercie
N'hésitez pas à me demander plus de précisions si certains points ne vous paraissent pas clairs!
Partager