Esempio n. 1
0
    {
        file_put_contents('.cache', serialize($this->cache));
    }
    // checks if cache exists
    public function hasCache($md5)
    {
        return isset($this->cache[$md5]);
    }
    // returns cached content
    public function readCache($md5)
    {
        if (!isset($this->cache[$md5])) {
            throw new E_OTS_NoCache();
        }
        return $this->cache[$md5];
    }
    // saves cache for new file
    public function writeCache($md5, OTS_FileNode $root)
    {
        $this->cache[$md5] = $root;
    }
}
// creates instance of our driver
$cache = new CacheDriver();
// creates OTBM loaded
$otbm = new OTS_OTBMFile();
// sets cache for OTBM loader
$otbm->setCacheDriver($cache);
// if cache for this file will exist - will read it from cache
// if not - will read file directly and save new cache
$otbm->loadFile('/home/wrzasq/.otserv/data/world/map.otbm');
Esempio n. 2
0
 /**
  * @version 0.1.3
  * @since 0.1.0
  * @param int $id Town ID.
  * @return string Name.
  * @throws E_OTS_NotLoaded If map is not loaded.
  * @deprecated 0.1.3 Use POT::getMap()->getTownName().
  */
 public function getTownName($id)
 {
     if (isset($this->map)) {
         return $this->map->getTownName($id);
     }
     throw new E_OTS_NotLoaded();
 }
Esempio n. 3
0
 /**
  * Loads OTBM map.
  * 
  * <p>
  * This method loads OTBM map from given file. You can create local instances of maps directly - calling this method will associate loaded map with POT class instance and will make it available everywhere in the code.
  * </p>
  * 
  * <p>
  * Note: This method will also load houses list associated with map.
  * </p>
  * 
  * <p>
  * Note: Since 0.2.0+SVN this field is protected instead of private.
  * </p>
  * 
  * @version 0.2.0+SVN
  * @since 0.1.0
  * @param string $path Map file path.
  */
 public static function loadMap($path)
 {
     self::$map = new OTS_OTBMFile();
     // sets items cache if any
     if (isset(self::$mapCache)) {
         self::$map->setCacheDriver(self::$mapCache);
     }
     self::$map->loadFile($path);
     self::$houses = self::$map->getHousesList();
 }