Dokumentation zum Massive Multiplayer Online Game - Universität ...
Dokumentation zum Massive Multiplayer Online Game - Universität ...
Dokumentation zum Massive Multiplayer Online Game - Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5. Spieler, Allianzen und Nachrichten<br />
66<br />
Controller<br />
User<br />
Der Nutzercontroller wird von Devise gesteuert und kann nicht eingesehen werden. siehe Nutzerverwaltung<br />
Abschnitt Controller.<br />
Relationship<br />
Damit die Nutzerparameter richtig übergeben werden und die Kontakte des jeweiligen Spielers korrekt angezeigt<br />
werden, muss dieser zuerst mit Devise authentifiziert werden:<br />
before_filter :authenticate_user!<br />
Die destroy Methode ruft die oben erwähnte end_friendship! methode des Spielers auf. Als Parameter wird<br />
die Referenz friend der aktuellen Relationship übergeben, welche bearbeitet wird.<br />
def destroy<br />
current_user.end_friendship!(@relationship.friend)<br />
respond_to do |format|<br />
format.html { redirect_to relationships_url }<br />
end<br />
end<br />
View<br />
Die index.html.erb ist so implementiert, dass diese nur Kontakte des current_user auflistet. Durch die<br />
Authentifizierung im relationship_controller, stellen wir somit einen persönlichen und sicheren Sichtbarkeitsbereich<br />
für jeden Spieler her.<br />
Ansicht der Freundesliste<br />
Wenn der Spieler keine Kontakte besitzt, wird er benachrichtigt:<br />
<br />
Du hast keine Kontakte hinzugefügt<br />
• Der "Nachricht schreiben" Button leitet an new_message_path weiter und übergibt zusätzlich als Parameter<br />
den Namen des Kontakts, an den die Nachricht verschickt werden soll.<br />
• Der "entfernen" Button ruft die destroy Methode in relationship_controller auf.<br />
Ein weiteres Feature ist die zusätzliche Anzeige der Freundesliste, welche zu jedem Zeitpunkt sichtbar ist.<br />
Unabhängig davon, in welcher View der Spieler sich gerade befindet.<br />
Kontaktliste mit Statusanzeige