예제 #1
0
 private function makeRules()
 {
     $ret = ['' => Yii::t('app', 'Unknown')];
     $gameModes = GameMode::find()->orderBy('[[id]] ASC')->all();
     foreach ($gameModes as $gameMode) {
         $gameModeText = Yii::t('app-rule', $gameMode->name);
         // "ナワバリバトル"
         $rules = Rule::find()->andWhere(['mode_id' => $gameMode->id])->orderBy('[[id]] ASC')->all();
         $mode = [];
         foreach ($rules as $rule) {
             $mode[$rule->id] = Yii::t('app-rule', $rule->name);
         }
         asort($mode);
         $ret[$gameModeText] = $mode;
     }
     return $ret;
 }
예제 #2
0
 public function getEntireWeapons()
 {
     $rules = [];
     foreach (GameMode::find()->orderBy('id ASC')->all() as $mode) {
         $tmp = [];
         foreach ($mode->rules as $rule) {
             $weapons = $this->getEntireWeaponsByRule($rule);
             $tmp[] = (object) ['key' => $rule->key, 'name' => Yii::t('app-rule', $rule->name), 'data' => $weapons, 'sub' => $this->convertWeapons2Sub($weapons), 'special' => $this->convertWeapons2Special($weapons)];
         }
         usort($tmp, function ($a, $b) {
             return strnatcasecmp($a->name, $b->name);
         });
         while (!empty($tmp)) {
             $rules[] = array_shift($tmp);
         }
     }
     return $rules;
 }
예제 #3
0
 public function run()
 {
     $filter = new BattleFilterForm();
     $filter->load($_GET);
     $filter->validate();
     $data = [];
     $modes = GameMode::find()->orderBy('id')->all();
     foreach ($modes as $mode) {
         $tmpData = [];
         foreach ($mode->rules as $rule) {
             $tmpData[] = (object) ['key' => $rule->key, 'name' => Yii::t('app-rule', $rule->name), 'data' => $this->makeData($rule, $filter)];
         }
         usort($tmpData, function ($a, $b) {
             return strcmp($a->name, $b->name);
         });
         $data = array_merge($data, $tmpData);
     }
     return $this->controller->render('kd-win.tpl', ['rules' => $data, 'maps' => $this->maps, 'weapons' => $this->weapons, 'filter' => $filter]);
 }
예제 #4
0
 private function makeRulesList()
 {
     $ret = ['' => Yii::t('app-rule', 'Any Mode')];
     $gameModes = GameMode::find()->orderBy('[[id]] ASC')->all();
     foreach ($gameModes as $gameMode) {
         $gameModeText = Yii::t('app-rule', $gameMode->name);
         // "ナワバリバトル"
         $rules = Rule::find()->andWhere(['mode_id' => $gameMode->id])->orderBy('[[id]] ASC')->all();
         $mode = [];
         if (count($rules) > 1) {
             $mode['@' . $gameMode->key] = Yii::t('app-rule', 'All of {0}', $gameModeText);
         }
         foreach ($rules as $rule) {
             $mode[$rule->key] = Yii::t('app-rule', $rule->name);
         }
         $ret[$gameModeText] = $mode;
     }
     return $ret;
 }