コード例 #1
0
ファイル: GameLevelModel.php プロジェクト: robozeri/SG
 public static function preloadLevels(HungerGamesPlugIn &$plugin)
 {
     $levelList = [];
     $path = $plugin->getDataFolder() . self::DIR_LEVEL_DATA;
     if (!file_exists($path)) {
         @mkdir($path, 0755, true);
     }
     $plugin->getLogger()->info("#loading game level on " . $path);
     $handler = opendir($path);
     while (($filename = readdir($handler)) !== false) {
         $plugin->getLogger()->info($filename);
         if ($filename != "." && $filename != "..") {
             $data = new Config($path . $filename, Config::YAML);
             Server::getInstance()->loadLevel($data->get("levelName"));
             $pLevel = Server::getInstance()->getLevelByName($data->get("levelName"));
             $name = str_replace(".yml", "", $filename);
             $arena = new GameLevelModel($plugin, $name);
             $arena->id = time();
             $arena->level = $pLevel;
             $arena->name = $data->get("name");
             $arena->displayName = $data->get("displayName");
             $arena->datafile = $data->get("datafile");
             $arena->levelName = $data->get("levelName");
             $arena->type = $data->get("type");
             $arena->location = new Position($data->get("locationX"), $data->get("locationY"), $data->get("locationZ"));
             $arena->waitCountDown = $data->get("waitCountDown", 20);
             $arena->joinDownCounter = $data->get("joinDownCounter", 18);
             $arena->joinDownCounterReset = $data->get("joinDownCounter", 18);
             $arena->status = self::STATUS_AVAILABLE;
             $arena->mapSelectionWaitTime = $data->get("mapSelectionWaitTime");
             if ($data->get("entranceX") != null) {
                 $arena->enterpos = new Position($data->get("entranceX"), $data->get("entranceY"), $data->get("entranceZ"), $pLevel);
             }
             if ($data->get("exitX") != null) {
                 $arena->exitPos = new Position($data->get("exitX"), $data->get("exitY"), $data->get("exitZ"));
             }
             if ($data->get("gatePos1X") != null) {
                 $arena->gatePos1 = new Position($data->get("gatePos1X"), $data->get("gatePos1Y"), $data->get("gatePos1Z"), $pLevel);
             }
             if ($data->get("gatePos2X") != null) {
                 $arena->gatePos2 = new Position($data->get("gatePos2X"), $data->get("gatePos2Y"), $data->get("gatePos2Z"), $pLevel);
             }
             if ($data->get("portalEnter1X") != null) {
                 $arena->portalEnterPos1 = new Position($data->get("portalEnter1X"), $data->get("portalEnter1Y"), $data->get("portalEnter1Z"), $pLevel);
             }
             if ($data->get("portalEnter2X") != null) {
                 $arena->portalEnterPos2 = new Position($data->get("portalEnter2X"), $data->get("portalEnter2Y"), $data->get("portalEnter2Z"), $pLevel);
             }
             $bx = $data->get("mapselectX");
             $by = $data->get("mapselectY");
             $bz = $data->get("mapselectZ");
             $arena->mapselectpos = new Position($bx, $by, $bz, $pLevel);
             $bx = $data->get("signJoinX");
             $by = $data->get("signJoinY");
             $bz = $data->get("signJoinZ");
             $arena->signJoin = new Position($bx, $by, $bz, $pLevel);
             $bx2 = $data->get("signJoin2X");
             $by2 = $data->get("signJoin2Y");
             $bz2 = $data->get("signJoin2Z");
             $arena->signJoin2 = new Position($bx2, $by2, $bz2, $pLevel);
             $bx = $data->get("signStatsX");
             $by = $data->get("signStatsY");
             $bz = $data->get("signStatsZ");
             $arena->signStats = new Position($bx, $by, $bz, $pLevel);
             $bx = $data->get("signExitX");
             $by = $data->get("signExitY");
             $bz = $data->get("signExitZ");
             $arena->signExit = new Position($bx, $by, $bz);
             $arena->mapselectLevelName = $data->get("mapselectLevelName");
             $arena->maps = $data->get("maps");
             $arena->minPlayers = $data->get("minPlayers");
             $arena->maxPlayers = $data->get("maxPlayers");
             $arena->particles = $data->get("particles");
             $arena->winnerCoins = $data->get("winnerCoins", 5);
             $levelList[$name] = $arena;
         }
     }
     closedir($handler);
     return $levelList;
 }
コード例 #2
0
ファイル: MapArenaModel.php プロジェクト: robozeri/SG
 public static final function preloadArenas(HungerGamesPlugIn &$plugin)
 {
     $arenaList = [];
     $path = $plugin->getDataFolder() . self::ARENA_DIRECTORY;
     if (!file_exists($path)) {
         @mkdir($path, 0755, true);
     }
     $plugin->log("#loading arenas on " . $path);
     $handler = opendir($path);
     while (($filename = readdir($handler)) !== false) {
         $plugin->getLogger()->info($filename);
         if ($filename != "." && $filename != "..") {
             $data = new Config($path . $filename, Config::YAML);
             Server::getInstance()->loadLevel($data->get("levelName"));
             $arenaLevel = Server::getInstance()->getLevelByName($data->get("levelName"));
             $name = str_replace(".yml", "", $filename);
             $arena = self::loadArenaByName($plugin->getDataFolder(), $name);
             $arenaList[$name] = $arena;
         }
     }
     closedir($handler);
     return $arenaList;
 }