package NET.worlds.console; import NET.worlds.scape.Drone; import NET.worlds.scape.HoloPilot; import NET.worlds.scape.Pilot; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; public class BBMoveDroneCommand extends BlackBoxCommand { private short x; private short y; private short z; private short dir; private String droneID; public BBMoveDroneCommand() { this.commandType = 3; } public BBMoveDroneCommand(String pdroneID, short px, short py, short pz, short pdir) { this(); this.droneID = pdroneID; this.x = px; this.y = py; this.z = pz; this.dir = pdir; } @Override public boolean execute() { Drone id = null; if (this.droneID.equals("@Pilot")) { Pilot p = Pilot.getActive(); if (p != null && p instanceof HoloPilot) { HoloPilot hp = (HoloPilot)p; id = hp.getInternalDrone(); } } else { id = ArmyOfZombies.instance().get(this.droneID); } if (id != null) { short _dir = this.dir; _dir = (short)(90 - _dir); _dir = (short)(360 - _dir); id.longLoc(this.x, this.y, this.z, _dir); this.doCallback(true); return true; } else { this.doCallback(true); return true; } } @Override public void save(DataOutputStream dos) throws IOException { super.save(dos); dos.writeUTF(this.droneID); dos.writeShort(this.x); dos.writeShort(this.y); dos.writeShort(this.z); dos.writeShort(this.dir); } @Override public void load(DataInputStream dis) throws IOException { super.load(dis); this.droneID = dis.readUTF(); this.x = dis.readShort(); this.y = dis.readShort(); this.z = dis.readShort(); this.dir = dis.readShort(); } }