226 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			226 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2004-2015 L2J Server
 | |
|  * 
 | |
|  * This file is part of L2J Server.
 | |
|  * 
 | |
|  * L2J Server is free software: you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation, either version 3 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  * 
 | |
|  * L2J Server is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 | |
|  * General Public License for more details.
 | |
|  * 
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program. If not, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| package com.l2jserver.gameserver.model;
 | |
| 
 | |
| import com.l2jserver.gameserver.model.interfaces.ILocational;
 | |
| import com.l2jserver.gameserver.model.interfaces.IPositionable;
 | |
| 
 | |
| /**
 | |
|  * Location data transfer object.<br>
 | |
|  * Contains coordinates data, heading and instance Id.
 | |
|  * @author Zoey76
 | |
|  */
 | |
| public class Location implements IPositionable
 | |
| {
 | |
| 	private int _x;
 | |
| 	private int _y;
 | |
| 	private int _z;
 | |
| 	private int _heading;
 | |
| 	private int _instanceId;
 | |
| 	
 | |
| 	public Location(int x, int y, int z)
 | |
| 	{
 | |
| 		this(x, y, z, 0, -1);
 | |
| 	}
 | |
| 	
 | |
| 	public Location(int x, int y, int z, int heading)
 | |
| 	{
 | |
| 		this(x, y, z, heading, -1);
 | |
| 	}
 | |
| 	
 | |
| 	public Location(L2Object obj)
 | |
| 	{
 | |
| 		this(obj.getX(), obj.getY(), obj.getZ(), obj.getHeading(), obj.getInstanceId());
 | |
| 	}
 | |
| 	
 | |
| 	public Location(int x, int y, int z, int heading, int instanceId)
 | |
| 	{
 | |
| 		_x = x;
 | |
| 		_y = y;
 | |
| 		_z = z;
 | |
| 		_heading = heading;
 | |
| 		_instanceId = instanceId;
 | |
| 	}
 | |
| 	
 | |
| 	public Location(StatsSet set)
 | |
| 	{
 | |
| 		_x = set.getInt("x");
 | |
| 		_y = set.getInt("y");
 | |
| 		_z = set.getInt("z");
 | |
| 		_heading = set.getInt("heading", 0);
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Get the x coordinate.
 | |
| 	 * @return the x coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public int getX()
 | |
| 	{
 | |
| 		return _x;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the x coordinate.
 | |
| 	 * @param x the x coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setX(int x)
 | |
| 	{
 | |
| 		_x = x;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Get the y coordinate.
 | |
| 	 * @return the y coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public int getY()
 | |
| 	{
 | |
| 		return _y;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the y coordinate.
 | |
| 	 * @param y the x coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setY(int y)
 | |
| 	{
 | |
| 		_y = y;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Get the z coordinate.
 | |
| 	 * @return the z coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public int getZ()
 | |
| 	{
 | |
| 		return _z;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the z coordinate.
 | |
| 	 * @param z the z coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setZ(int z)
 | |
| 	{
 | |
| 		_z = z;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the x, y, z coordinates.
 | |
| 	 * @param x the x coordinate
 | |
| 	 * @param y the y coordinate
 | |
| 	 * @param z the z coordinate
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setXYZ(int x, int y, int z)
 | |
| 	{
 | |
| 		setX(x);
 | |
| 		setY(y);
 | |
| 		setZ(z);
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the x, y, z coordinates.
 | |
| 	 * @param loc The location.
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setXYZ(ILocational loc)
 | |
| 	{
 | |
| 		setXYZ(loc.getX(), loc.getY(), loc.getZ());
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Get the heading.
 | |
| 	 * @return the heading
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public int getHeading()
 | |
| 	{
 | |
| 		return _heading;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the heading.
 | |
| 	 * @param heading the heading
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setHeading(int heading)
 | |
| 	{
 | |
| 		_heading = heading;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Get the instance Id.
 | |
| 	 * @return the instance Id
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public int getInstanceId()
 | |
| 	{
 | |
| 		return _instanceId;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Set the instance Id.
 | |
| 	 * @param instanceId the instance Id to set
 | |
| 	 */
 | |
| 	@Override
 | |
| 	public void setInstanceId(int instanceId)
 | |
| 	{
 | |
| 		_instanceId = instanceId;
 | |
| 	}
 | |
| 	
 | |
| 	@Override
 | |
| 	public IPositionable getLocation()
 | |
| 	{
 | |
| 		return this;
 | |
| 	}
 | |
| 	
 | |
| 	@Override
 | |
| 	public void setLocation(Location loc)
 | |
| 	{
 | |
| 		_x = loc.getX();
 | |
| 		_y = loc.getY();
 | |
| 		_z = loc.getZ();
 | |
| 		_heading = loc.getHeading();
 | |
| 		_instanceId = loc.getInstanceId();
 | |
| 	}
 | |
| 	
 | |
| 	@Override
 | |
| 	public boolean equals(Object obj)
 | |
| 	{
 | |
| 		if ((obj != null) && (obj instanceof Location))
 | |
| 		{
 | |
| 			final Location loc = (Location) obj;
 | |
| 			return (getX() == loc.getX()) && (getY() == loc.getY()) && (getZ() == loc.getZ()) && (getHeading() == loc.getHeading()) && (getInstanceId() == loc.getInstanceId());
 | |
| 		}
 | |
| 		return false;
 | |
| 	}
 | |
| 	
 | |
| 	@Override
 | |
| 	public String toString()
 | |
| 	{
 | |
| 		return "[" + getClass().getSimpleName() + "] X: " + getX() + " Y: " + getY() + " Z: " + getZ() + " Heading: " + _heading + " InstanceId: " + _instanceId;
 | |
| 	}
 | |
| }
 | 
