Guest User

Untitled

a guest
May 26th, 2011
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. package org.saleen.rs2.eventlistener.impl;
  2.  
  3. import java.util.Iterator;
  4.  
  5. import org.saleen.event.Event;
  6. import org.saleen.event.EventConsumer;
  7. import org.saleen.event.impl.PlayerLoginEvent;
  8. import org.saleen.event.impl.PlayerLoginEvent.PlayerLogin;
  9. import org.saleen.event.impl.PlayerLoginEvent.PlayerLogout;
  10. import org.saleen.rs2.content.chat.FriendStatus;
  11. import org.saleen.rs2.model.Player;
  12. import org.saleen.rs2.model.World;
  13.  
  14. /**
  15. * An <code>EventConsumer</code> which binds to the player login/logout events to update friend statuses.
  16. *
  17. * @author Nikki
  18. */
  19. public class FriendLoginListener extends EventConsumer {
  20.  
  21. @SuppressWarnings("unchecked")
  22. public FriendLoginListener() {
  23. bind(PlayerLogin.class, PlayerLogout.class);
  24. }
  25.  
  26. @Override
  27. public void consume(Event event) {
  28. PlayerLoginEvent evt = (PlayerLoginEvent) event;
  29. if(evt instanceof PlayerLogin) {
  30. //Player logged in, update friends!
  31. long name = evt.getPlayer().getNameAsLong();
  32. evt.getPlayer().getFriendsList().updateStatuses();
  33. Iterator<Player> it$ = World.getWorld().getPlayers().iterator();
  34. while(it$.hasNext()) {
  35. Player player2 = it$.next();
  36. if(player2.getFriendsList().contains(name)) {
  37. player2.getFriendsList().updateStatus(name);
  38. }
  39. }
  40. } else if(evt instanceof PlayerLogout) {
  41. //Player logged out, set status offline!
  42. long name = evt.getPlayer().getNameAsLong();
  43. Iterator<Player> it$ = World.getWorld().getPlayers().iterator();
  44. while(it$.hasNext()) {
  45. Player player2 = it$.next();
  46. if(player2.getFriendsList().contains(name)) {
  47. player2.getFriendsList().setStatus(name, FriendStatus.OFFLINE);
  48. }
  49. }
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment