Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.07.2013, 20:00

[C++ - SFML] Meine Idee für einen EventManager. Was haltet ihr davon?

Hallo,

ich habe mir mal Gedanken um einen Event-Manager und dessen Umsetzung gemacht. Ich hab ein paar theoretische Dinge ausgearbeitet und bräuchte mal ein Feedback eines erfahreneren als mich :).

Die States sollen die "Dinge selbst erledigen" - d.h. meine Idee war, da jeder State eh seine eigenen Event Möglichkeiten hat, dass die Events im EventManager sortiert nach ihrem Typ in verschiedene queues kommen - der State weiß, welche Events er braucht/sucht und schaut einfach in die queue und kann dann darauf reagieren.

Die Grundidee dahinter ist, dass zwar global ein EventManager verfügbar ist, allerdings trotzdem eine gewisse Kapselung vorhanden bleibt.
Ich hoffe, ich konnte die Idee weitgehend gut erläutern.

Was haltet ihr von dieser Idee? Rentiert sich das in der Praxis oder verschwende ich meine Zeit? :)

Vielen Dank fürs Lesen!
Grüße

2

19.07.2013, 20:36

Hi,
weiß nicht so ganz genau was du meinst.

Das Polling ist doch ganz nett bei SFML.
Beim event mit switch abfragen was du wissen willst.

Für Buttons und Menus nehme ich Callbacks.

LG
Bilder zu meinem Projekt: ParSim

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

3

20.07.2013, 01:21

Die Grundidee dahinter ist, dass zwar global ein EventManager verfügbar ist, allerdings trotzdem eine gewisse Kapselung vorhanden bleibt.
Nope. :|
Globale Objekte sind nur in Ausnahmefällen zu gebrauchen, ansonsten gibt es immer ein besseres Code Design.

Obwohl du es dir etwas anders vorstellst, so geht deine Beschreibung doch ziemlich in die richtung eines Message System, was doch sehr praktisch ist, so einige erweitere Möglichkeiten bietet und das Problem von zu vielen Abhängigkeiten löst. Hier gibt es einen guten Artikel (Englisch) wie ein Message Bus funktionieren kann.

Im eben erst erschienen, ersten und einzigen SFML Buch, wird so etwas auch implementiert, wird aber Command irgend etwas genannt. Da der Code freizugänglich ist, kannst du ja mal rein schauen, wie sie es gelöst hatten.
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

4

20.07.2013, 02:39

wow :golly: ,
die Idee mit einem Message Bus haut mich echt vom Hocker. Klasse!
Vielen vielen Dank für den Link!!

Werbeanzeige