Guest User

Untitled

a guest
Jun 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. package org.rscdaemon.server.model;
  2.  
  3. import java.lang.ref.SoftReference;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. public class ActiveTile {
  8.  
  9. private SoftReference<List<Player>> playerReference;
  10. private SoftReference<List<Npc>> npcReference;
  11. private SoftReference<List<Item>> itemReference;
  12. private SoftReference<GameObject> objectReference;
  13. private SoftReference<Integer> xReference, yReference;
  14.  
  15. public ActiveTile(int x, int y) {
  16. this.playerReference = new SoftReference<List<Player>>(new ArrayList<Player>());
  17. this.npcReference = new SoftReference<List<Npc>>(new ArrayList<Npc>());
  18. this.itemReference = new SoftReference<List<Item>>(new ArrayList<Item>());
  19. this.xReference = new SoftReference<Integer>(x);
  20. this.yReference = new SoftReference<Integer>(y);
  21. }
  22.  
  23. public void add(Entity entity) {
  24. if (entity instanceof Player) {
  25. playerReference.get().add((Player)entity);
  26. } else if (entity instanceof Npc) {
  27. npcReference.get().add((Npc)entity);
  28. } else if (entity instanceof Item) {
  29. itemReference.get().add((Item)entity);
  30. } else if (entity instanceof GameObject) {
  31. if (objectReference != null) {
  32. World.getWorld().unregisterGameObject(objectReference.get());
  33. }
  34. objectReference = new SoftReference<GameObject>((GameObject)entity);
  35. }
  36. }
  37.  
  38. public void remove(Entity entity) {
  39. if (entity instanceof Player) {
  40. playerReference.get().remove(entity);
  41. } else if (entity instanceof Npc) {
  42. npcReference.get().remove(entity);
  43. } else if (entity instanceof Item) {
  44. itemReference.get().remove(entity);
  45. } else if (entity instanceof GameObject) {
  46. objectReference = null;
  47. }
  48. }
  49.  
  50. public boolean hasPlayers() {
  51. return playerReference != null && playerReference.get().size() > 0;
  52. }
  53.  
  54. public List<Player> getPlayers() {
  55. return playerReference.get();
  56. }
  57.  
  58. public boolean hasGameObject() {
  59. return objectReference != null;
  60. }
  61.  
  62. public GameObject getGameObject() {
  63. return objectReference.get();
  64. }
  65.  
  66. public List<Item> getItems() {
  67. return itemReference.get();
  68. }
  69.  
  70. public boolean hasItem(Item item) {
  71. return itemReference.get().contains(item);
  72. }
  73.  
  74. public boolean hasItems() {
  75. return itemReference != null && itemReference.get().size() > 0;
  76. }
  77.  
  78. public List<Npc> getNpcs() {
  79. return npcReference.get();
  80. }
  81.  
  82. public boolean hasNpcs() {
  83. return npcReference != null && npcReference.get().size() > 0;
  84. }
  85.  
  86. public int getX() {
  87. return xReference.get();
  88. }
  89.  
  90. public int getY() {
  91. return yReference.get();
  92. }
  93.  
  94. }
Add Comment
Please, Sign In to add comment