새 리셋 툴 준비

This commit is contained in:
2018-03-26 00:27:51 +09:00
parent bc2c480986
commit a2100f503f
5 changed files with 311 additions and 12 deletions
+44
View File
@@ -0,0 +1,44 @@
<?php
namespace sammo;
class Scenario{
const SCENARIO_PATH = __dir__.'/../scenario';
private $scenarioIdx;
private $scenarioPath;
private $data;
public function __construct(int $scenarioIdx){
$scenarioPath = SCENARIO_PATH."/scenario_{$scenarioIdx}.json";
$this->scenarioIdx = $scenarioIdx;
$this->scenarioPath = $scenarioPath;
$this->data = Json::decode(file_get_contents($scenarioPath));
}
public function getScenarioIdx(){
return $this->scenarioIdx;
}
/**
* @return \sammo\Scenario[]
*/
public static function getAllScenarios(){
$result = [];
foreach(glob(SCENARIO_PATH.'/scenario_*.json') as $scenarioPath){
$scenarioName = pathinfo(basename($scenarioName), PATHINFO_FILENAME);
$scenarioIdx = Util::array_last(explode('_', $scenarioName));
$scenarioIdx = Util::toInt($scenarioIdx);
if($scenarioIdx === null){
continue;
}
$result[$scenarioIdx] = new Scenario($scenarioIdx);
}
return $result;
}
}