-
Notifications
You must be signed in to change notification settings - Fork 0
Network Manager
Der NetworkManager (im Code TestNetworkManager) akzeptiert eingehende Verbindungen von Clients und erschafft für jeden verbundenen Client ein neues PlayerConnection Objekt. Dementsprechend beinhaltet der NetworkManager alle Verbindungen zu einem Server.
Jedem Spieler wird (wie oben beschrieben) eine PlayerConnection zugeordnet. Diese beinhaltet Informationen über den Spieler, wie zum Beispiel den Namen und die Farbe des Spielers. Doch diese Informationen müssen dem Server vorher (also vor dem Erstellen einer PlayerConnection) bekannt sein. Dies geschieht durch eine Nachricht (ConnectionRequestMessage), welche dem Server die nötigen Informationen über den Spieler liefert (Spielername, Farbe, etc).
Ebenso ist er auch dafür verantwortlich, das gespielte Level mit den Clients zu synchronisieren. Dazu wird allen verbunden Clients eine Nachricht gesendet, dass diese ein vom Server vorgegebenes Level laden sollen. Nachdem ein Client das Level geladen hat, sendet er dem Server eine Bestätigung. Sobald der Server eine Bestätigung von allen Clients erhalten hat, wird das Level schließlich auch auf dem Server geladen und mit den Clients synchronisiert.
Clients, welche sich während einem laufenden Spiel verbinden, erhalten eine Nachricht (ServerStateMessage), welche ihnen mitteilt, welches Level gerade auf dem Server aktiv ist und auch auf dem Client geladen werden soll. Nach dem Laden wird der Client auf "Ready" gesetzt und erhält alle Änderungen am geladenen Level, die auf dem Server bisher stattgefunden haben.
Bei Fragen können Sie sich gerne an uns wenden.
- Alexander Pantelkin
- Christian Hollatz
- Dominik Horny
- Johannes Greising
- Ricardo Lieblein