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; }
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; }
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]); }
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; }