Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. package org.lazaro.rt5e.logic.world.objects;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6.  
  7. import org.lazaro.rt5e.Context;
  8. import org.lazaro.rt5e.engine.Engine;
  9. import org.lazaro.rt5e.engine.tick.impl.ObjectRemoveTick;
  10. import org.lazaro.rt5e.logic.map.Tile;
  11. import org.lazaro.rt5e.logic.player.Player;
  12. import org.lazaro.rt5e.utility.RSObject;
  13.  
  14. public class ObjectManager {
  15.  
  16. public static ArrayList<RSObject> objects = new ArrayList<RSObject>();
  17. int NORTH = -1;
  18. int SOUTH = -3;
  19. int WEST = 0;
  20. int EAST = -2;
  21.  
  22. public ObjectManager() {
  23. // ** start the object manager **/
  24. // RSObject object = new RSObject(1234, 3000, 3000, 0, 10, NORTH);
  25. /** int id, int x, int y, int z, int type, int rotation */
  26.  
  27. //RSObject obj = new RSObject(3192, 3200, 3200, 0, 10, NORTH);
  28. //RSObject objx = new RSObject(3195, 1500, 2500, 0, 10, NORTH);
  29. //objects.add(obj);
  30. //objects.add(objx);
  31. // addObject(obj);
  32. // addObject(objx);
  33. reloadAllObjects();
  34. }
  35.  
  36. public static boolean containsObjectAt(Tile location) {
  37. for (RSObject x : objects) {
  38. if (x.getLocation() == location) {
  39. return true;
  40. }
  41. }
  42. return false;
  43. }
  44.  
  45. public static RSObject getObjectAt(Tile loc) {
  46. for (RSObject x : objects) {
  47. if (x.getLocation() == loc)
  48. return x;
  49. }
  50. return null;
  51. }
  52.  
  53. public static void reloadAllObjects(Player p) {
  54. for (RSObject x : objects) {
  55. p.getActions().addMapObject(x);
  56. }
  57. System.out.println("Loaded [" + objects.size() + "] objects.");
  58. }
  59.  
  60. public static void reloadAllObjects() {
  61. for (RSObject x : objects) {
  62. for (Player p : Context.getWorld().getGlobalPlayers()) {
  63. p.getActions().addMapObject(x);
  64. }
  65. }
  66. System.out.println("Loaded [" + objects.size() + "] objects.");
  67. }
  68.  
  69. public static void addObject(RSObject object) {
  70. if (object == null)
  71. return;
  72. if (object.getLocation() == null)
  73. return;
  74. objects.add(object);
  75. reloadAllObjects();
  76. System.out.println("Object: [x:" + object.getX() + " y:"
  77. + object.getY() + " z:" + object.getZ() + "]. ID: "
  78. + object.getId() + " added.");
  79.  
  80. }
  81.  
  82. public static void removeObject(Tile location) {
  83. if (containsObjectAt(location)) {
  84. for (Player p : Context.getWorld().getGlobalPlayers()) {
  85.  
  86. RSObject object = getObjectAt(location);
  87. RSObject objectx = new RSObject(-1, object.getX(),
  88. object.getY(), object.getZ(), object.getType(),
  89. object.getRotation());
  90. p.getActions().removeMapObject(objectx);
  91. }
  92. objects.remove(getObjectAt(location));
  93. }
  94. }
  95.  
  96. public static void addObject(RSObject object, int removeTimeSeconds) {
  97. if (object == null)
  98. return;
  99. if (removeTimeSeconds == 0)
  100. return;
  101. if (object.getLocation() == null)
  102. return;
  103. objects.add(object);
  104. for (Player player : Context.getWorld().getGlobalPlayers()) {
  105. player.registerTick(new ObjectRemoveTick(player, object,
  106. removeTimeSeconds));
  107. }
  108. reloadAllObjects();
  109. System.out.println("Object: [x:" + object.getX() + " y:"
  110. + object.getY() + " z:" + object.getZ() + "]. ID: "
  111. + object.getId() + " added.");
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement