Package l2p.gameserver.instancemanager

Source Code of l2p.gameserver.instancemanager.TownManager

package l2p.gameserver.instancemanager;

import java.util.logging.Logger;

import l2p.gameserver.model.L2Character;
import l2p.gameserver.model.L2Object;
import l2p.gameserver.model.L2Zone;
import l2p.gameserver.model.L2Zone.ZoneType;
import l2p.gameserver.model.entity.Town;
import l2p.gameserver.tables.MapRegion;
import l2p.util.GArray;

public final class TownManager
{
  private static TownManager _instance;
  private GArray<Town> _towns = new GArray<Town>();
  private final static Logger _log = Logger.getLogger(TownManager.class.getName());

  private TownManager()
  {
    GArray<L2Zone> zones = ZoneManager.getInstance().getZoneByType(ZoneType.Town);
    if(zones.size() == 0)
    {
      _log.warning("Not found zones for Towns!!!");
    }
    else
    {
      for(L2Zone zone : zones)
      {
        _towns.add(new Town(zone.getIndex()));
      }
    }
  }

  public static TownManager getInstance()
  {
    if(_instance == null)
    {
      _instance = new TownManager();
    }
    return _instance;
  }

  public Town getClosestTown(int x, int y)
  {
    return getTown(MapRegion.getInstance().getMapRegion(x, y));
  }

  public Town getClosestTown(L2Object activeObject)
  {
    return getTown(MapRegion.getInstance().getMapRegion(activeObject.getX(), activeObject.getY()));
  }

  public int getClosestTownNumber(L2Character activeChar)
  {
    return MapRegion.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
  }

  public String getClosestTownName(L2Character activeChar)
  {
    return getClosestTown(activeChar).getName();
  }

  public Town getTown(int townId)
  {
    for(Town town : _towns)
    {
      if(town.getTownId() == townId)
      {
        return town;
      }
    }
    return null;
  }
}
TOP

Related Classes of l2p.gameserver.instancemanager.TownManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.