Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.lazaro.rt5e.logic.world.objects;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import org.lazaro.rt5e.Context;
- import org.lazaro.rt5e.engine.Engine;
- import org.lazaro.rt5e.engine.tick.impl.ObjectRemoveTick;
- import org.lazaro.rt5e.logic.map.Tile;
- import org.lazaro.rt5e.logic.player.Player;
- import org.lazaro.rt5e.utility.RSObject;
- public class ObjectManager {
- public static ArrayList<RSObject> objects = new ArrayList<RSObject>();
- int NORTH = -1;
- int SOUTH = -3;
- int WEST = 0;
- int EAST = -2;
- public ObjectManager() {
- // ** start the object manager **/
- // RSObject object = new RSObject(1234, 3000, 3000, 0, 10, NORTH);
- /** int id, int x, int y, int z, int type, int rotation */
- //RSObject obj = new RSObject(3192, 3200, 3200, 0, 10, NORTH);
- //RSObject objx = new RSObject(3195, 1500, 2500, 0, 10, NORTH);
- //objects.add(obj);
- //objects.add(objx);
- // addObject(obj);
- // addObject(objx);
- reloadAllObjects();
- }
- public static boolean containsObjectAt(Tile location) {
- for (RSObject x : objects) {
- if (x.getLocation() == location) {
- return true;
- }
- }
- return false;
- }
- public static RSObject getObjectAt(Tile loc) {
- for (RSObject x : objects) {
- if (x.getLocation() == loc)
- return x;
- }
- return null;
- }
- public static void reloadAllObjects(Player p) {
- for (RSObject x : objects) {
- p.getActions().addMapObject(x);
- }
- System.out.println("Loaded [" + objects.size() + "] objects.");
- }
- public static void reloadAllObjects() {
- for (RSObject x : objects) {
- for (Player p : Context.getWorld().getGlobalPlayers()) {
- p.getActions().addMapObject(x);
- }
- }
- System.out.println("Loaded [" + objects.size() + "] objects.");
- }
- public static void addObject(RSObject object) {
- if (object == null)
- return;
- if (object.getLocation() == null)
- return;
- objects.add(object);
- reloadAllObjects();
- System.out.println("Object: [x:" + object.getX() + " y:"
- + object.getY() + " z:" + object.getZ() + "]. ID: "
- + object.getId() + " added.");
- }
- public static void removeObject(Tile location) {
- if (containsObjectAt(location)) {
- for (Player p : Context.getWorld().getGlobalPlayers()) {
- RSObject object = getObjectAt(location);
- RSObject objectx = new RSObject(-1, object.getX(),
- object.getY(), object.getZ(), object.getType(),
- object.getRotation());
- p.getActions().removeMapObject(objectx);
- }
- objects.remove(getObjectAt(location));
- }
- }
- public static void addObject(RSObject object, int removeTimeSeconds) {
- if (object == null)
- return;
- if (removeTimeSeconds == 0)
- return;
- if (object.getLocation() == null)
- return;
- objects.add(object);
- for (Player player : Context.getWorld().getGlobalPlayers()) {
- player.registerTick(new ObjectRemoveTick(player, object,
- removeTimeSeconds));
- }
- reloadAllObjects();
- System.out.println("Object: [x:" + object.getX() + " y:"
- + object.getY() + " z:" + object.getZ() + "]. ID: "
- + object.getId() + " added.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement