12.01.2014 Aufrufe

Dokumentation zum Massive Multiplayer Online Game - Universität ...

Dokumentation zum Massive Multiplayer Online Game - Universität ...

Dokumentation zum Massive Multiplayer Online Game - Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!